SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
20/05/2010
1
UNIDAD 1.- PARTE 1
MANIPULACIÓN AVANZADA DE DATOS CON SQL.
BASES DE DATOS PARA APLICACIONES
Xochitl Clemente Parra
Armando Méndez Morales
Práctica preliminar
 Crear la siguiente base de datos de prácticas en SQL Server.
20/05/2010
2
Estructura básica de las consultas
 La estructura básica de una consulta consiste
en 3 clausulas:
 Select: corresponde a la operación proyección del
algebra relacional. Se utiliza para listar los atributos
deseados del resultado de una consulta.
 From: corresponde a la operación producto
cartesiano del algebra relacional. Lista las relaciones
que deben ser analizadas en la evaluación de la
expresión
 Where: engloba los atributos de las relaciones que
aparecen en la clausula from.
Distinct
 SQL permite duplicados en la relaciones, pero si se
quiere eliminar duplicados, se emplea la palabra clave
distinct después del select.
Id Nombre Direccion Telefono
1 Juan Perez Calle 3 No. 34 938-2343-322
2 Juan Lopez 2 pte nte 98 765-8356-224
3 Rosa Gómez 13 sur ote 383 675-4567-211
4 Juan Lopez Calle Amapolas 10 978-5976-435
Select distinct nombre from Datos Select nombre from Datos
20/05/2010
3
All
 También se puede emplear la palabra all para especificar
explícitamente que no se eliminan duplicados.
Id Nombre Direccion Telefono
1 Juan Perez Calle 3 No. 34 938-2343-322
2 Juan Lopez 2 pte nte 98 765-8356-224
3 Rosa Gómez 13 sur ote 383 675-4567-211
4 Juan Lopez Calle Amapolas 10 978-5976-435
Select all nombre from Datos
* y operadores
 El símbolo * se puede utilizar para denotar todos los atributos.
también puede contener expresiones aritméticas que contengan
los operadores +, -, * y / operando sobre constantes o atributos de
las tuplas.
Id Nombre Dirección Teléfono Salario
1 Juan Perez Calle 3 No. 34 938-2343-322 4,500
2 Juan Lopez 2 pte nte 98 765-8356-224 6,500
3 Rosa Gómez 13 sur ote 383 675-4567-211 13,200
4 Juan Lopez Calle Amapolas 10 978-5976-435 12,100
Select salario * 0.15 from Datos
20/05/2010
4
Prácticas
 Escriba las siguiente consultas:
 Seleccionar a los alumnos que se encuentren inscritos
en el segundo ciclo.
 Seleccionar el nombre y dirección de los alumnos,
concatenando la direccion con el siguiente formato:
direccion , Poblacion.
 Seleccionar nombre y numero de hermanos de los
alumnos, agregando después del numero del campo,
la palabra hermano(s).
 Seleccione el tipo de materia, de la tabla materias,
mostrando únicamente los valores únicos.
where
 Especifica una condición de búsqueda para restringir el número de filas
devueltas.
 Restringe el número de filas devueltas en el conjunto de resultados
mediante el uso de predicados.
 Puede utilizar las conectivas and, or y not. Las expresiones que
contengan pueden tener operadores de comparación.
 También se puede emplear el operador de comparación between para
simplificarlas clausulas where
select nombre,salario from Datos where
salario between 4000 and 6000
20/05/2010
5
Renombramiento
 SQL proporciona un mecanismo para renombrar
tanto relaciones como atributos. Para ello utiliza la
clausula as
 La clausula as puede aparecer tanto en el select
como en el from
select salario * 0.10 as ISR from Datos
select salario * 0.10 as ISR from Datos as
datitoswhere datitos.salario>6000
Operaciones sobre cadenas
 SQL especifica las cadenas encerrándolas entre comilla simple.
 La operación mas empleada sobre cadenas es el encaje de patrones, para el que
se usa el operador like. Para la descripción de patrones, se utilizan los 2
caracteres especiales:
 % : encaja con cualquier subcadena
 _ : encaja con cualquier carácter
select nombre from Datos where
nombre like 'Juan%'
select nombre from Datos where nombre like 'J_'
20/05/2010
6
Orden de la presentación de tuplas
 SQL ofrece control sobre el orden en que se presentan las
tuplas de una relación utilizando la clausula order by.
 Para especificar el tipo de ordenación se puede incluir la
clausula desc para orden descendente y asc para
ascendente.
 Además, se puede ordenar con respecto a mas de un
atributo.
select nombre, salario from Datos where
nombre like 'J%' order by nombre desc
select nombre, salario from Datos where
nombre like 'J%' order by nombre desc,salario
desc
Prácticas
 Seleccionar a los alumnos que tengan hermanos
 Seleccionar a los alumnos que tengan hermanos y se encuentren en el primer
ciclo
 Seleccionar a los alumnos que este cursando la materia de Dibujo.
 Seleccionar las materias que sean de modalidad u optativas.
 Seleccionar a los alumnos que no se encuentren en primer nivel
 Seleccionar a los alumnos que tengan de 1 a 2 hermanos cursando el segundo
ciclo.
 Seleccionar a los alumnos que tengan como apellido GARCÍA y que estén en el
nivel 1 del primer ciclo.
 Mostrar a los alumnos del ejercicio anterior ordenados por población de
forma descendente.
 Seleccionar a los alumnos cuyo primer apellido comience con M del segundo
ciclo y que no tengan hermanos.
 Seleccionar las materias optativas ordenadas de forma ascendente, indicando
el nombre de los alumnos inscritos.
20/05/2010
7
Operaciones sobre conjuntos
 Las operaciones de SQL union, intersect y except
operan sobre relaciones y se corresponden con las
operaciones del algebra relacional.
 Al igual que la unión, intersección y la diferencia
del algebra relacional, las relaciones que participan
han de ser compatibles, es decir, deben tener el
mismo conjunto de atributos.
union
 Nos permite unir los resultados de
varias consultas.
 Elimina los valores duplicados.
 Si se desean conservar todos los
duplicados, es necesario escribir union
all
select nombre from
datos
union
select nombre from
datosexternos
select nombre from
datos
union all
select nombre from
datosexternos
20/05/2010
8
intersect
 Muestra los valores que se
encuentran en ambos lados de la
consulta.
select nombre from datos
intersect
select nombre from datosexternos
except
 Muestra los valores que se
encuentran en la primera
consulta, pero no están en
la segunda.
select nombre from datos
Except
select nombre from
datosexternos
20/05/2010
9
Funciones de agregación
 Son funciones que toman una colección (un conjunto o
multiconjunto) de valores de entrada y devuelven un
solo valor. Las 5 funciones de agregación son:
 Promedio (avg): aplicable a valores numéricos, calcula el promedio
de los valores obtenidos
 Mínimo (min): retorna el menor elemento no nulo dentro de las
tuplas para ese atributo
 Máximo (max): retorna el mayor elemento no nulo dentro de las
tuplas para ese atributo
 Total (sum): aplicable a valores numéricos, realiza la suma
matemática
 Cuenta (count): cuenta las tuplas resultantes.
Avg,min,max
 select avg(salario) from datos where salario>5000
select min(salario) from datos where salario>5000
select max(salario) from datos where salario>5000
20/05/2010
10
Sum, count
 select sum(datos.salario)+sum(datosexternos.salario)
 from datos,datosexternos
 where datos.nombre like 'Juan%' and datos.nombre=datosexternos.nombre
select nombre,count(salario)as NoSalarios
from datos
group by nombre
Group by, having
 La clausula group by nos sirve para formar grupos de tuplas con el mismo valor.
 Para establecer condiciones a las agrupaciones creadas con group by, utilizamos la clausula
having.
 Si en la misma consulta aparecen where y having, primero se aplica el criterio de where y
sobre esas tuplas, se aplica el criterio de having.
select datos.nombre,sum(datos.salario)+sum(datosexternos.salario)
from datos,datosexternos
where datos.nombrelike 'Juan%' and datos.nombre=datosexternos.nombre
group by datos.nombre
select D.nombre, sum(D.salario)+sum(DE.salario)
from Datos as D, DatosExternosas DE
where D.nombre=DE.nombre
group by D.nombre
having D.nombre not like '%Juan%'
20/05/2010
11
Valores nulos
 SQL permite el uso de valores
nulos para indicar la ausencia
de valor.
 Para hacer esto, emplea la
palabra null. El predicado is not
null comprueba la ausencia de
valores nulos.
select nombre, direccion
from Datos
where telefono is null
select nombre, salario
from Datos
where direccion is not null and salario<5000
Prácticas I
 Seleccionar a todos los alumnos de primer ciclo y calcular el
promedio de cada uno de todas las materias.
 Contar el numero de alumnos que hay inscritos por materia
 Buscar a los alumnos que tienen mas materias cursadas.
 Sumar el numero de hermanos que tienen todos los alumnos
 Buscar al alumno con al más bajo promedio del segundo ciclo
 Buscar al alumno con el promedio mas alto de toda la
institución.
 Buscar a los alumnos con los promedios mas altos de cada nivel
 Contar el numero de materias por tipo.
 Listar los promedios de los alumnos del segundo ciclo del
promedio mas alto al mas bajo
 Contar a los alumnos con la misma calificación en informática
20/05/2010
12
Prácticas II
 Contar al numero de alumnos por turno
 Promediar las calificaciones de los alumnos por turno
 Listar los alumnos con promedio aprobatorio del nivel 2 en orden descendente
 Contar a los alumnos reprobados y aprobados del nivel 3
 Unir con una consulta a los alumnos de primer ciclo nivel 1, con los alumnos de
primer ciclo nivel2.
 Seleccionar a los alumnos del primer ciclo que no estén cursando lenguas.
 Contar a los alumnos que cursan dibujo, pero no cursan informática.
 Contar cuantos alumnos sin hermanos hay en toda la institución, agrupándolos
por nivel.
 Contar a los alumnos por población de origen. Incluir el calculo de su promedio.
 Calcular el promedio de los alumnos que tengan como en algún apellido García.
Subconsultas anidadas
 Una sub consulta es una sentencia SELECT que es
incrustada en una cláusula de otra sentencia SQL,
llamada sentencia padre.
 La sub consulta (consulta interna) obtiene un valor
que es usado por la sentencia padre. Usar una sub
consulta anidada es equivalente a ejecutar dos
consultas secuenciales y utilizar el resultado de la
consulta interna como valor de búsqueda en la
consulta externa (consulta principal).
20/05/2010
13
Subconsultas anidadas
 Las sub consultas pueden ser usadas para los siguientes propósitos:
 Proveer valores para condiciones en cláusulas WHERE, HAVING y
START WITH de sentencias SELECT
 Definir el conjunto de filas a ser insertadas en una tabla de una
sentencia INSERT o CREATE TABLE
 Definir el conjunto de filas a ser incluidas en una vista o snapshot en
una sentencia CREATE VIEW o CREATE SNAPSHOT
 Definir uno o más valores para ser asignados a filas existentes en una
sentencia UPDATE
 Definir una tabla para ser operada por el contenido de una consulta.
(Esto se hace colocando la sub consulta en la cláusula FROM. Esto
puede hacerse también en sentencias INSERT, UPDATE y DELETE.
 Nota: Una sub consulta es evaluada en una ocasión para toda la
sentencia Padre.
Subconsultas anidadas
 Se pueden construir sentencias poderosas utilizando sub consultas. Las sub
consultas pueden ser muy útiles cuando necesites seleccionar filas de una
tabla con una condición que dependa de los datos de la misma u otra tabla.
Las sub consultas son muy útiles para escribir sentencias SQL que necesiten
valores de un o más valores condicionales desconocidos.
 Donde:
 operator incluye un operadorde comparación como >, = o IN
 Nota: los operadores de comparación se encuentran en dos clases:
 operadores de fila única (>, =, >=, <, <>, <=) y operadores de múltiples filas
(IN, ANY, ALL)
 Las sub consultas son a menudo referidas como sentencias SELECT anidadas,
sub-SELECT, o SELECT internos.
 Las consultas internas y externas pueden recuperar datos de la misma tabla o
de tablas diferentes.
20/05/2010
14
Ejemplo de una subconsulta sencilla
select nombre,salario
from Datos
where salario>(select min(salario)
from DatosExternos)
Datos Datos Externos
Subconsultas de múltiples columnas
 El ejemplo anterior nos muestra una sub consultas de filas únicas
donde solo una columna es obtenida por la sentencia SELECT
interna y estas son usadas para evaluar la expresión en la
sentencia SELECT padre.
 Si quieres comparar dos o más columnas, debemos escribir una
cláusula WHERE compuesta usando operadores lógicos. El uso de
subconsultas de múltiples columnas, puede combinar condiciones
WHERE duplicadas en una simple cláusula WHERE.
20/05/2010
15
Subconsultas de múltiples columnas
select nombre,direccion
from Datos
where nombre IN (select nombre
from DatosExternos
where nombre like '%J%')
Datos Datos Externos
Subconsultas con ANY, SOME,ALL
 Los operadores de comparación que presentan una subconsulta se
pueden modificar mediante las palabras clave ALL o ANY. SOME es un
equivalente del estándar de SQL-92 de ANY.
 Las subconsultas presentadas con un operador de comparación
modificado devuelven una lista de cero o más valores. Pueden incluir
GROUP BY o HAVING.
 Para que una fila de una subconsulta con >ALL satisfaga la condición
especificada en la consulta externa, el valor de la columna que presenta
la subconsulta debe ser mayor que cada valor de la lista de los valores
devueltos por la subconsulta.
 De forma parecida, >ANY significa que, para que una fila satisfaga la
condición especificada en la consulta externa, el valor de la columna que
presenta la subconsulta debe ser mayor que, como mínimo, uno de los
valores de la lista devuelta por la subconsulta.
20/05/2010
16
Ejemplo
select nombre,salario
from datos
where id =any (select idusuario
from contactos
where origenusuario=0)
Ejemplo
select Nombre,salario
from Datos
where salario >all(select salario
from DatosExternos
where salario<10000 )
Datos Datos Externos
20/05/2010
17
Subconsultas con EXISTS o NOT EXISTS
 Cuando una subconsulta se especifica con la palabra
clave EXISTS, funciona como una prueba de existencia.
La cláusula WHERE de la consulta externa comprueba
la existencia de las filas devueltas por la subconsulta.
En realidad, la subconsulta no produce ningún dato,
devuelve el valor TRUE o FALSE.
 Una subconsulta que se especifica con EXISTS tiene la
sintaxis siguiente:
WHERE [NOT] EXISTS (subquery)
Ejemplo
select nombre from Datos
where exists (select contactos.idusuario
from Contactos,datos
where contactos.idusuario=3
and contactos.idusuario=datos.id)
select nombre from Datos
where exists (select
contactos.idusuario
from Contactos,datos
where contactos.idusuario=2
and contactos.idusuario=datos.id)
20/05/2010
18
Subconsultas usadas en lugar de una
expresión
 En Transact-SQL, una subconsulta se
puede usar allí donde se pueda usar una
expresión en las instrucciones SELECT,
UPDATE, INSERT y DELETE, excepto en
una lista ORDER BY.
Ejemplo
select datos.nombre,salario - (select min(salario) from datosexternos)
as difSalarioMasPequeño
from datos
Datos Datos Externos
20/05/2010
19
Prácticas
 Realice las prácticas de las diapositivas 22 y 23
utilizando los diferentes tipos de subconsultas
revisados.

Más contenido relacionado

Destacado

Manipulación avanzada de datos con sql
Manipulación avanzada de datos con sqlManipulación avanzada de datos con sql
Manipulación avanzada de datos con sqlj4u8a8n4
 
Que Escribir en una Tarjeta de Boda
Que Escribir en una Tarjeta de BodaQue Escribir en una Tarjeta de Boda
Que Escribir en una Tarjeta de Bodaregalosbodas81
 
Os ax1 component 1 task 2
Os ax1 component 1 task 2Os ax1 component 1 task 2
Os ax1 component 1 task 2jesscalder
 
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...regalosbodas81
 
Associate Chartered Institute of Bankers
Associate Chartered Institute of BankersAssociate Chartered Institute of Bankers
Associate Chartered Institute of BankersMiltos Michaelas
 
Basilio C. Neri - CV
Basilio C. Neri - CVBasilio C. Neri - CV
Basilio C. Neri - CVBasil Neri
 
Curiosite: what curators do
Curiosite: what curators doCuriosite: what curators do
Curiosite: what curators dolodaya
 
Democratising Culture
Democratising CultureDemocratising Culture
Democratising Culturelodaya
 

Destacado (14)

Manipulación avanzada de datos con sql
Manipulación avanzada de datos con sqlManipulación avanzada de datos con sql
Manipulación avanzada de datos con sql
 
Que Escribir en una Tarjeta de Boda
Que Escribir en una Tarjeta de BodaQue Escribir en una Tarjeta de Boda
Que Escribir en una Tarjeta de Boda
 
Professional Gambling
Professional GamblingProfessional Gambling
Professional Gambling
 
Brenda M
Brenda MBrenda M
Brenda M
 
Os ax1 component 1 task 2
Os ax1 component 1 task 2Os ax1 component 1 task 2
Os ax1 component 1 task 2
 
Executive Leadership CIIM
Executive Leadership CIIMExecutive Leadership CIIM
Executive Leadership CIIM
 
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...
75 Cumpleanos Regalo Ideas Que Pueden Convertir La Celebracion En Un Especial...
 
Associate Chartered Institute of Bankers
Associate Chartered Institute of BankersAssociate Chartered Institute of Bankers
Associate Chartered Institute of Bankers
 
123
123123
123
 
Basilio C. Neri - CV
Basilio C. Neri - CVBasilio C. Neri - CV
Basilio C. Neri - CV
 
Unasur vs mercosur
Unasur vs mercosurUnasur vs mercosur
Unasur vs mercosur
 
Dr. Joe
Dr. JoeDr. Joe
Dr. Joe
 
Curiosite: what curators do
Curiosite: what curators doCuriosite: what curators do
Curiosite: what curators do
 
Democratising Culture
Democratising CultureDemocratising Culture
Democratising Culture
 

Similar a Manipulación avanzada de datos con sql parte1

Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consultaMaria Garcia
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005shavila
 
Trabajando con sql (parte 2)
Trabajando con sql (parte 2)Trabajando con sql (parte 2)
Trabajando con sql (parte 2)Juan Vade
 
Dokumen.site ejercicios resueltos-sqlpdf
Dokumen.site ejercicios resueltos-sqlpdfDokumen.site ejercicios resueltos-sqlpdf
Dokumen.site ejercicios resueltos-sqlpdfArlin11
 
Laboratorio n2 de ayudantía sie
Laboratorio n2 de ayudantía  sieLaboratorio n2 de ayudantía  sie
Laboratorio n2 de ayudantía siekatendency
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de DatosManuel Guerra
 
Prueba Sistema Oracle
Prueba Sistema OraclePrueba Sistema Oracle
Prueba Sistema Oraclemacarena
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sqlevavivez
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My SqlArnulfo Gomez
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdfJaidaryMejia1
 
Recuperacion de yola
Recuperacion de yolaRecuperacion de yola
Recuperacion de yolacathya56
 
Recuperacion de yola
Recuperacion de yolaRecuperacion de yola
Recuperacion de yolaIveth_Gaspar
 
Bases de datos colegio
Bases de datos colegioBases de datos colegio
Bases de datos colegionoeurizar
 

Similar a Manipulación avanzada de datos con sql parte1 (20)

Lenguaje estructurado de consulta
Lenguaje estructurado de consultaLenguaje estructurado de consulta
Lenguaje estructurado de consulta
 
Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005Consultas Basicas En Sql Server 2005
Consultas Basicas En Sql Server 2005
 
Trabajando con sql (parte 2)
Trabajando con sql (parte 2)Trabajando con sql (parte 2)
Trabajando con sql (parte 2)
 
Dokumen.site ejercicios resueltos-sqlpdf
Dokumen.site ejercicios resueltos-sqlpdfDokumen.site ejercicios resueltos-sqlpdf
Dokumen.site ejercicios resueltos-sqlpdf
 
Laboratorio n2 de ayudantía sie
Laboratorio n2 de ayudantía  sieLaboratorio n2 de ayudantía  sie
Laboratorio n2 de ayudantía sie
 
Guia sql
Guia sqlGuia sql
Guia sql
 
Guia sql
Guia sqlGuia sql
Guia sql
 
El Modelo Relacional de Datos
El Modelo Relacional de DatosEl Modelo Relacional de Datos
El Modelo Relacional de Datos
 
Prueba Sistema Oracle
Prueba Sistema OraclePrueba Sistema Oracle
Prueba Sistema Oracle
 
Bases de datos my sql
Bases de datos my sqlBases de datos my sql
Bases de datos my sql
 
Bases De Datos My Sql
Bases De Datos My SqlBases De Datos My Sql
Bases De Datos My Sql
 
Laboratorio
LaboratorioLaboratorio
Laboratorio
 
311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf311_TP3_2024-1_JaidaryMejia_26881784.pdf
311_TP3_2024-1_JaidaryMejia_26881784.pdf
 
Recuperacion de yola
Recuperacion de yolaRecuperacion de yola
Recuperacion de yola
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Recuperacion de yola
Recuperacion de yolaRecuperacion de yola
Recuperacion de yola
 
Proyecto 2
Proyecto 2Proyecto 2
Proyecto 2
 
Practica access (1)
Practica access (1)Practica access (1)
Practica access (1)
 
implementacion de consultas basicas
implementacion de consultas basicasimplementacion de consultas basicas
implementacion de consultas basicas
 
Bases de datos colegio
Bases de datos colegioBases de datos colegio
Bases de datos colegio
 

Último

PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfPORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfYeniferGarcia36
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfmalvarado8
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...CarlosMelgarejo25
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...dnmxd1213
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...CLAUDIA GINGLIONA RAMÍREZ DIFILIPPI
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4Andrea11166
 
CATALOGO PILOT que contiene muchas cosas
CATALOGO PILOT que contiene muchas cosasCATALOGO PILOT que contiene muchas cosas
CATALOGO PILOT que contiene muchas cosasMichelACruzSolano
 
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eInforme-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eyonayker10
 
METODO CIENTIFICO 2024..................
METODO CIENTIFICO 2024..................METODO CIENTIFICO 2024..................
METODO CIENTIFICO 2024..................CelinChauca
 
Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfVictoria867681
 
GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---YurleyFlorez5
 
Trbajo de Sociales, ecosistemas terrestres.pptx
Trbajo de Sociales, ecosistemas terrestres.pptxTrbajo de Sociales, ecosistemas terrestres.pptx
Trbajo de Sociales, ecosistemas terrestres.pptxlorenita0682
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMaraMilagrosBarrosMa
 
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxLA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxJuankLerma
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxMaikelPereira1
 
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfCartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfsheylayaninaagurtofa1
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxAdriannDiaz
 
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdf
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdfSemana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdf
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdfromaldonolascorojas1
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaccastilloojeda12
 
La Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfLa Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfloquendo1901
 

Último (20)

PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdfPORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
PORTA SUCULENTAS POR EL DÍA DEL MAESTROS # 1.pdf
 
Nuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdfNuestro Libro de aventuras película up.pdf
Nuestro Libro de aventuras película up.pdf
 
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
Relato Bélico sobre la Guerra entre los paises sudamericanos Bolivia y Paragu...
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4
 
CATALOGO PILOT que contiene muchas cosas
CATALOGO PILOT que contiene muchas cosasCATALOGO PILOT que contiene muchas cosas
CATALOGO PILOT que contiene muchas cosas
 
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.eInforme-RQ-2021-A4_compressed.pdf.sjjjas.e
Informe-RQ-2021-A4_compressed.pdf.sjjjas.e
 
METODO CIENTIFICO 2024..................
METODO CIENTIFICO 2024..................METODO CIENTIFICO 2024..................
METODO CIENTIFICO 2024..................
 
Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdf
 
GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---GUARDIANES VIRTUALES guia metodologica---
GUARDIANES VIRTUALES guia metodologica---
 
Trbajo de Sociales, ecosistemas terrestres.pptx
Trbajo de Sociales, ecosistemas terrestres.pptxTrbajo de Sociales, ecosistemas terrestres.pptx
Trbajo de Sociales, ecosistemas terrestres.pptx
 
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptxMapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
Mapa-conceptual-de-la-Primera-Guerra-Mundial.pptx
 
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptxLA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
LA DANZA PROCESO DE LA VIDA Y EL CUERPO.pptx
 
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptxCERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
CERTIFICADO para NIÑOS, presentacion de niños en la iglesia .pptx
 
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdfCartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
Cartilla de bienvenida a la comunidad educativa para el reinicio de clases.pdf
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
 
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdf
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdfSemana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdf
Semana 3 - Bases de Datos Avanzadas - Big Data - Sesion 3.pdf
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitectura
 
La Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdfLa Importancia de la Universidad como Institución Social.pdf
La Importancia de la Universidad como Institución Social.pdf
 

Manipulación avanzada de datos con sql parte1

  • 1. 20/05/2010 1 UNIDAD 1.- PARTE 1 MANIPULACIÓN AVANZADA DE DATOS CON SQL. BASES DE DATOS PARA APLICACIONES Xochitl Clemente Parra Armando Méndez Morales Práctica preliminar  Crear la siguiente base de datos de prácticas en SQL Server.
  • 2. 20/05/2010 2 Estructura básica de las consultas  La estructura básica de una consulta consiste en 3 clausulas:  Select: corresponde a la operación proyección del algebra relacional. Se utiliza para listar los atributos deseados del resultado de una consulta.  From: corresponde a la operación producto cartesiano del algebra relacional. Lista las relaciones que deben ser analizadas en la evaluación de la expresión  Where: engloba los atributos de las relaciones que aparecen en la clausula from. Distinct  SQL permite duplicados en la relaciones, pero si se quiere eliminar duplicados, se emplea la palabra clave distinct después del select. Id Nombre Direccion Telefono 1 Juan Perez Calle 3 No. 34 938-2343-322 2 Juan Lopez 2 pte nte 98 765-8356-224 3 Rosa Gómez 13 sur ote 383 675-4567-211 4 Juan Lopez Calle Amapolas 10 978-5976-435 Select distinct nombre from Datos Select nombre from Datos
  • 3. 20/05/2010 3 All  También se puede emplear la palabra all para especificar explícitamente que no se eliminan duplicados. Id Nombre Direccion Telefono 1 Juan Perez Calle 3 No. 34 938-2343-322 2 Juan Lopez 2 pte nte 98 765-8356-224 3 Rosa Gómez 13 sur ote 383 675-4567-211 4 Juan Lopez Calle Amapolas 10 978-5976-435 Select all nombre from Datos * y operadores  El símbolo * se puede utilizar para denotar todos los atributos. también puede contener expresiones aritméticas que contengan los operadores +, -, * y / operando sobre constantes o atributos de las tuplas. Id Nombre Dirección Teléfono Salario 1 Juan Perez Calle 3 No. 34 938-2343-322 4,500 2 Juan Lopez 2 pte nte 98 765-8356-224 6,500 3 Rosa Gómez 13 sur ote 383 675-4567-211 13,200 4 Juan Lopez Calle Amapolas 10 978-5976-435 12,100 Select salario * 0.15 from Datos
  • 4. 20/05/2010 4 Prácticas  Escriba las siguiente consultas:  Seleccionar a los alumnos que se encuentren inscritos en el segundo ciclo.  Seleccionar el nombre y dirección de los alumnos, concatenando la direccion con el siguiente formato: direccion , Poblacion.  Seleccionar nombre y numero de hermanos de los alumnos, agregando después del numero del campo, la palabra hermano(s).  Seleccione el tipo de materia, de la tabla materias, mostrando únicamente los valores únicos. where  Especifica una condición de búsqueda para restringir el número de filas devueltas.  Restringe el número de filas devueltas en el conjunto de resultados mediante el uso de predicados.  Puede utilizar las conectivas and, or y not. Las expresiones que contengan pueden tener operadores de comparación.  También se puede emplear el operador de comparación between para simplificarlas clausulas where select nombre,salario from Datos where salario between 4000 and 6000
  • 5. 20/05/2010 5 Renombramiento  SQL proporciona un mecanismo para renombrar tanto relaciones como atributos. Para ello utiliza la clausula as  La clausula as puede aparecer tanto en el select como en el from select salario * 0.10 as ISR from Datos select salario * 0.10 as ISR from Datos as datitoswhere datitos.salario>6000 Operaciones sobre cadenas  SQL especifica las cadenas encerrándolas entre comilla simple.  La operación mas empleada sobre cadenas es el encaje de patrones, para el que se usa el operador like. Para la descripción de patrones, se utilizan los 2 caracteres especiales:  % : encaja con cualquier subcadena  _ : encaja con cualquier carácter select nombre from Datos where nombre like 'Juan%' select nombre from Datos where nombre like 'J_'
  • 6. 20/05/2010 6 Orden de la presentación de tuplas  SQL ofrece control sobre el orden en que se presentan las tuplas de una relación utilizando la clausula order by.  Para especificar el tipo de ordenación se puede incluir la clausula desc para orden descendente y asc para ascendente.  Además, se puede ordenar con respecto a mas de un atributo. select nombre, salario from Datos where nombre like 'J%' order by nombre desc select nombre, salario from Datos where nombre like 'J%' order by nombre desc,salario desc Prácticas  Seleccionar a los alumnos que tengan hermanos  Seleccionar a los alumnos que tengan hermanos y se encuentren en el primer ciclo  Seleccionar a los alumnos que este cursando la materia de Dibujo.  Seleccionar las materias que sean de modalidad u optativas.  Seleccionar a los alumnos que no se encuentren en primer nivel  Seleccionar a los alumnos que tengan de 1 a 2 hermanos cursando el segundo ciclo.  Seleccionar a los alumnos que tengan como apellido GARCÍA y que estén en el nivel 1 del primer ciclo.  Mostrar a los alumnos del ejercicio anterior ordenados por población de forma descendente.  Seleccionar a los alumnos cuyo primer apellido comience con M del segundo ciclo y que no tengan hermanos.  Seleccionar las materias optativas ordenadas de forma ascendente, indicando el nombre de los alumnos inscritos.
  • 7. 20/05/2010 7 Operaciones sobre conjuntos  Las operaciones de SQL union, intersect y except operan sobre relaciones y se corresponden con las operaciones del algebra relacional.  Al igual que la unión, intersección y la diferencia del algebra relacional, las relaciones que participan han de ser compatibles, es decir, deben tener el mismo conjunto de atributos. union  Nos permite unir los resultados de varias consultas.  Elimina los valores duplicados.  Si se desean conservar todos los duplicados, es necesario escribir union all select nombre from datos union select nombre from datosexternos select nombre from datos union all select nombre from datosexternos
  • 8. 20/05/2010 8 intersect  Muestra los valores que se encuentran en ambos lados de la consulta. select nombre from datos intersect select nombre from datosexternos except  Muestra los valores que se encuentran en la primera consulta, pero no están en la segunda. select nombre from datos Except select nombre from datosexternos
  • 9. 20/05/2010 9 Funciones de agregación  Son funciones que toman una colección (un conjunto o multiconjunto) de valores de entrada y devuelven un solo valor. Las 5 funciones de agregación son:  Promedio (avg): aplicable a valores numéricos, calcula el promedio de los valores obtenidos  Mínimo (min): retorna el menor elemento no nulo dentro de las tuplas para ese atributo  Máximo (max): retorna el mayor elemento no nulo dentro de las tuplas para ese atributo  Total (sum): aplicable a valores numéricos, realiza la suma matemática  Cuenta (count): cuenta las tuplas resultantes. Avg,min,max  select avg(salario) from datos where salario>5000 select min(salario) from datos where salario>5000 select max(salario) from datos where salario>5000
  • 10. 20/05/2010 10 Sum, count  select sum(datos.salario)+sum(datosexternos.salario)  from datos,datosexternos  where datos.nombre like 'Juan%' and datos.nombre=datosexternos.nombre select nombre,count(salario)as NoSalarios from datos group by nombre Group by, having  La clausula group by nos sirve para formar grupos de tuplas con el mismo valor.  Para establecer condiciones a las agrupaciones creadas con group by, utilizamos la clausula having.  Si en la misma consulta aparecen where y having, primero se aplica el criterio de where y sobre esas tuplas, se aplica el criterio de having. select datos.nombre,sum(datos.salario)+sum(datosexternos.salario) from datos,datosexternos where datos.nombrelike 'Juan%' and datos.nombre=datosexternos.nombre group by datos.nombre select D.nombre, sum(D.salario)+sum(DE.salario) from Datos as D, DatosExternosas DE where D.nombre=DE.nombre group by D.nombre having D.nombre not like '%Juan%'
  • 11. 20/05/2010 11 Valores nulos  SQL permite el uso de valores nulos para indicar la ausencia de valor.  Para hacer esto, emplea la palabra null. El predicado is not null comprueba la ausencia de valores nulos. select nombre, direccion from Datos where telefono is null select nombre, salario from Datos where direccion is not null and salario<5000 Prácticas I  Seleccionar a todos los alumnos de primer ciclo y calcular el promedio de cada uno de todas las materias.  Contar el numero de alumnos que hay inscritos por materia  Buscar a los alumnos que tienen mas materias cursadas.  Sumar el numero de hermanos que tienen todos los alumnos  Buscar al alumno con al más bajo promedio del segundo ciclo  Buscar al alumno con el promedio mas alto de toda la institución.  Buscar a los alumnos con los promedios mas altos de cada nivel  Contar el numero de materias por tipo.  Listar los promedios de los alumnos del segundo ciclo del promedio mas alto al mas bajo  Contar a los alumnos con la misma calificación en informática
  • 12. 20/05/2010 12 Prácticas II  Contar al numero de alumnos por turno  Promediar las calificaciones de los alumnos por turno  Listar los alumnos con promedio aprobatorio del nivel 2 en orden descendente  Contar a los alumnos reprobados y aprobados del nivel 3  Unir con una consulta a los alumnos de primer ciclo nivel 1, con los alumnos de primer ciclo nivel2.  Seleccionar a los alumnos del primer ciclo que no estén cursando lenguas.  Contar a los alumnos que cursan dibujo, pero no cursan informática.  Contar cuantos alumnos sin hermanos hay en toda la institución, agrupándolos por nivel.  Contar a los alumnos por población de origen. Incluir el calculo de su promedio.  Calcular el promedio de los alumnos que tengan como en algún apellido García. Subconsultas anidadas  Una sub consulta es una sentencia SELECT que es incrustada en una cláusula de otra sentencia SQL, llamada sentencia padre.  La sub consulta (consulta interna) obtiene un valor que es usado por la sentencia padre. Usar una sub consulta anidada es equivalente a ejecutar dos consultas secuenciales y utilizar el resultado de la consulta interna como valor de búsqueda en la consulta externa (consulta principal).
  • 13. 20/05/2010 13 Subconsultas anidadas  Las sub consultas pueden ser usadas para los siguientes propósitos:  Proveer valores para condiciones en cláusulas WHERE, HAVING y START WITH de sentencias SELECT  Definir el conjunto de filas a ser insertadas en una tabla de una sentencia INSERT o CREATE TABLE  Definir el conjunto de filas a ser incluidas en una vista o snapshot en una sentencia CREATE VIEW o CREATE SNAPSHOT  Definir uno o más valores para ser asignados a filas existentes en una sentencia UPDATE  Definir una tabla para ser operada por el contenido de una consulta. (Esto se hace colocando la sub consulta en la cláusula FROM. Esto puede hacerse también en sentencias INSERT, UPDATE y DELETE.  Nota: Una sub consulta es evaluada en una ocasión para toda la sentencia Padre. Subconsultas anidadas  Se pueden construir sentencias poderosas utilizando sub consultas. Las sub consultas pueden ser muy útiles cuando necesites seleccionar filas de una tabla con una condición que dependa de los datos de la misma u otra tabla. Las sub consultas son muy útiles para escribir sentencias SQL que necesiten valores de un o más valores condicionales desconocidos.  Donde:  operator incluye un operadorde comparación como >, = o IN  Nota: los operadores de comparación se encuentran en dos clases:  operadores de fila única (>, =, >=, <, <>, <=) y operadores de múltiples filas (IN, ANY, ALL)  Las sub consultas son a menudo referidas como sentencias SELECT anidadas, sub-SELECT, o SELECT internos.  Las consultas internas y externas pueden recuperar datos de la misma tabla o de tablas diferentes.
  • 14. 20/05/2010 14 Ejemplo de una subconsulta sencilla select nombre,salario from Datos where salario>(select min(salario) from DatosExternos) Datos Datos Externos Subconsultas de múltiples columnas  El ejemplo anterior nos muestra una sub consultas de filas únicas donde solo una columna es obtenida por la sentencia SELECT interna y estas son usadas para evaluar la expresión en la sentencia SELECT padre.  Si quieres comparar dos o más columnas, debemos escribir una cláusula WHERE compuesta usando operadores lógicos. El uso de subconsultas de múltiples columnas, puede combinar condiciones WHERE duplicadas en una simple cláusula WHERE.
  • 15. 20/05/2010 15 Subconsultas de múltiples columnas select nombre,direccion from Datos where nombre IN (select nombre from DatosExternos where nombre like '%J%') Datos Datos Externos Subconsultas con ANY, SOME,ALL  Los operadores de comparación que presentan una subconsulta se pueden modificar mediante las palabras clave ALL o ANY. SOME es un equivalente del estándar de SQL-92 de ANY.  Las subconsultas presentadas con un operador de comparación modificado devuelven una lista de cero o más valores. Pueden incluir GROUP BY o HAVING.  Para que una fila de una subconsulta con >ALL satisfaga la condición especificada en la consulta externa, el valor de la columna que presenta la subconsulta debe ser mayor que cada valor de la lista de los valores devueltos por la subconsulta.  De forma parecida, >ANY significa que, para que una fila satisfaga la condición especificada en la consulta externa, el valor de la columna que presenta la subconsulta debe ser mayor que, como mínimo, uno de los valores de la lista devuelta por la subconsulta.
  • 16. 20/05/2010 16 Ejemplo select nombre,salario from datos where id =any (select idusuario from contactos where origenusuario=0) Ejemplo select Nombre,salario from Datos where salario >all(select salario from DatosExternos where salario<10000 ) Datos Datos Externos
  • 17. 20/05/2010 17 Subconsultas con EXISTS o NOT EXISTS  Cuando una subconsulta se especifica con la palabra clave EXISTS, funciona como una prueba de existencia. La cláusula WHERE de la consulta externa comprueba la existencia de las filas devueltas por la subconsulta. En realidad, la subconsulta no produce ningún dato, devuelve el valor TRUE o FALSE.  Una subconsulta que se especifica con EXISTS tiene la sintaxis siguiente: WHERE [NOT] EXISTS (subquery) Ejemplo select nombre from Datos where exists (select contactos.idusuario from Contactos,datos where contactos.idusuario=3 and contactos.idusuario=datos.id) select nombre from Datos where exists (select contactos.idusuario from Contactos,datos where contactos.idusuario=2 and contactos.idusuario=datos.id)
  • 18. 20/05/2010 18 Subconsultas usadas en lugar de una expresión  En Transact-SQL, una subconsulta se puede usar allí donde se pueda usar una expresión en las instrucciones SELECT, UPDATE, INSERT y DELETE, excepto en una lista ORDER BY. Ejemplo select datos.nombre,salario - (select min(salario) from datosexternos) as difSalarioMasPequeño from datos Datos Datos Externos
  • 19. 20/05/2010 19 Prácticas  Realice las prácticas de las diapositivas 22 y 23 utilizando los diferentes tipos de subconsultas revisados.