Clase subconsultas joins
Sección B
SUB CONSULTA
Una sub consulta es una instrucción SELECT anidada
dentro de una instrucción DML.
Se puede utilizar cualquier cantidad de sub consultas
enuna instrucción DML.
SUB CONSULTA
Se pueden comparar los resultados de una sub consulta
por medio de operadores de comparación regulares (=,
<>, etc.).
El numero de parámetros que se comparan enla
consulta principal debe ser igual al numero de
parámetros devueltos por la sub consulta.
SUB CONSULTA
Ejemplo:
select * from Empleado where sueldo > (
SELECT AVG(monto) from Pago
where mes ='Marzo'
)
select * from EMPLEADO where fecha_nacimiento > (
SELECT fecha_nacimiento, from EMPLEADO where
nombre = 'FELIPE SANTOS'
)
SUB CONSULTA
Se pueden realizar comparaciones sobre una lista deresultados por medio de las instrucciones ALL, ANY
,SOME.
ALL: Indica que la comparación debe cumplirse para
todos los elementos de la lista.
ANY: Indica que la comparación debe cumplirse para
por lomenos un elemento de la lista.
SOME: Es un sinónimo de la clausula ANY.
SUB CONSULTA
Ejemplo:
select * from Empleado where sueldo > ALL (
select sueldo from Empleado where DATEPART(YEAR,fecha_nacimiento) = 1990
)
En el ejemplo anterior, la sub consulta devuelve un
listado de sueldos de personas que nacieron en 1990.
HAVING
Especifica una condición de búsqueda para un grupo o
agregado(SUM, AVG, COUNT, etc.)
HAVING se coloca después de las condiciones de tipo
WHERE, y de existir clausulas GROUP BY, después de
estas.
HAVING
Ejemplo:
select SUM(e.sueldo), d.nombre
from Departamentod, Empleado e
GROUP BY d.nombre
HAVING SUM(e.sueldo) > 7000
En la siguiente consulta se busca los departamentos en los
que la suma de sueldos de todos sus empleados de mas de
7000.
IN/ NOT IN
Permite indicar una condición que será verdadera si un
campo se encuentra en un grupo de valores, ya sea
dados directamente o por medio de una sub consulta.
Puede ser usado en cualquier sentencia DML...
Regístrate para leer el documento completo.