RETO MES DE ABRIL .............................docx
Subconsultas
1.
2. Una subconsulta es una consulta que aparece
dentro de otra consulta o subconsultas, en la
lista de selección .
Una subconsulta se denomina también
consulta o selección interna, mientras que la
instrucción que contiene la subconsulta es
conocida como consulta o selección externa.
3. SELECT Nombre
FROM Empleados
WHERE cuota <= (SELECT SUM(importe)
FROM pedidos
WHERE rep = numemple);
4. Subconsulta de una sola fila :
Consulta principal
ST_CLERK
Subconsulta
5. Subconsultas de varias filas :
Consulta principal ST_CLERK
devuelve
SA_MAN
Subconsulta
6. A. Devuelve mas de una fila.
B. Utiliza operadores de comparación de varias filas.
OPERADOR SIGNIFICADO
IN Igual a Cualquier miembro de la lista.
ANY Compara el valor con cada valor devuelto
por la subconsulta.
ALL Compara el valor con todos los valores
devueltos por la subconsulta.
7. La subconsulta SELECT de la instrucción
INSERT se puede utilizar para agregar valores
a una tabla de una o más tablas o vistas.
Además, utilizar una subconsulta SELECT
permite insertar más de una fila al mismo
tiempo.
8. Los operadores de conjuntos ejecutan operaciones en
miembros o conjuntos y devuelven un conjunto. Por lo
general, los operadores de conjuntos se utilizan como
alternativa a las distintas funciones de conjuntos en
expresiones.
Tres tipos de operaciones con conjuntos:
UNION, disponible en todas las versiones de SQL
Server.
EXCEPT, nuevo en SQL Server 2005.
INTERSECT, nuevo en SQL Server 2005.
9. Para utilizar operaciones de conjuntos debemos
cumplir una serie de normas.
Las consultas a unir deben tener el mismo número
campos, y además los campos deben ser del mismo
tipo.
Sólo puede haber una única clausula ORDER BY al
final de la sentencia SELECT.
UNION
Devuelve la suma de dos o más conjuntos de
resultados. El conjunto obtenido como resultado de
UNION tiene la misma estructura que los conjuntos
originales.
El siguiente ejemplo muestra el uso de UNION
10. SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
UNION
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES
EXCEPT
Devuelve la diferencia (resta) de dos o más conjuntos de
resultados. El conjunto obtenido como resultado de
EXCEPT tiene la misma estructura que los conjuntos
originales.
Ejemplo
11. SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
EXCEPT
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES
INTERSECT
Devuelve la intersección entre dos o más conjuntos de
resultados en uno. El conjunto obtenido como
resultado de INTERSECT tiene la misma estructura
que los conjuntos originales.
Ejemplo :
12. SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM EMPLEADOS
INTERSECT
SELECT Nombre, Apellido1 , Apellido2, NifCif, FxNacimiento
FROM CLIENTES