1. .
PRESENTACIÓN
ALUMNA: ANAIS DEL ROCIO
CURSO: TÉCNICA DE ARCHIVO
TEMA: SUBCONSULTAS
PROFESORA: PITA CHAPILLIQUE
2. .
Definición de Subconsultas
LAS SUBCONSULTAS SON CONSULTAS QUE APARECEN EN LA CLÁUSULA WHERE O HAVING
DE OTRA INSTRUCCIÓN SQL O EN LA LISTA DE SELECCIÓN DE UNA INSTRUCCIÓN. LAS
SUBCONSULTAS PUEDEN UTILIZARSE PARA MANIPULAR LAS SOLICITUDES DE CONSULTA
QUE SE EXPRESAN COMO EL RESULTADO DE OTRAS CONSULTAS.
LAS INSTRUCCIONES QUE INCLUYEN SUBCONSULTAS OPERAN SOBRE LAS FILAS DE UNA
TABLA, DE ACUERDO A SU EVALUACIÓN DE LA LISTA SELECT DE LA SUBCONSULTA, QUE
PUEDE HACER REFERENCIA A LA MISMA TABLA COMO UNA CONSULTA EXTERNA, O BIEN A
UNA TABLA DISTINTA. EN TRANSACT-SQL, UNA SUBCONSULTA PUEDE USARSE
PRÁCTICAMENTE EN CUALQUIER LUGAR DONDE SE PERMITA UNA EXPRESIÓN, SIEMPRE
QUE LA SUBCONSULTA DEVUELVA UN VALOR ÚNICO.
LAS INSTRUCCIONES SELECT QUE CONTIENEN UNA O MÁS SUBCONSULTAS A VECES SE
DENOMINAN CONSULTAS ANIDADAS O INSTRUCCIONES SELECT ANIDADAS. LA PRÁCTICA
DE ANIDAR UNA INSTRUCCIÓN SELECT EN OTRA EXPLICA QUE SE INCLUYA EL TÉRMINO
"STRUCTURED" (ESTRUCTURADO) EN SQL (STRUCTURED QUERY LANGUAGE).
3. Subconsultas de varias filas y los operadores
de conjuntos
Las sub consultas que retornan más de una fila son llamadas sub
consultas de
múltiples filas. Se usan operadores de múltiples filas, en lugar de
operadores
de línea única, con sub consultas de múltiples filas. El operador de
múltiples
filas espera uno o más valores.
4. Ejemplo
Encuentre los empleados que ganan el mismo salario como el salario mínimo
de cada departamento. La consulta interna es ejecutada primero, produciendo
un resultado. El bloque de la consulta principal es ejecutado utilizando el valor
proporcionado por la consulta interna para completar la condición de búsqueda.
En efecto, la consulta principal puede verse en el servidor de Oracle como
sigue:
.
5. Operadores de conjuntos de subconsultas
EXISTS ( subconsulta )
Se utiliza para comprobar si el resultado de una consulta anidada es a vacio
Devuelve true si la tabla no es vacía, en otro caso devuelve falso
NOT EXISTS ( subconsulta )
Se utiliza para comprobar si el resultado de una consulta anidada no es vacio
Devuelve true si la tabla es vacía, en otro caso devuelve falso
Atributo operador_comparacion ALL ( subconsulta )
se utilizara para comparar, mediante alguno de los operadores de
comparación,
si el valor de un atributo es mayor, menor, igual, … que todos los valores de
un
determinado conjunto de valores
atributo operador_comparacion ANY ( subconsulta )
Es similar al operador ALL, lo único que lo diferencia es que el valor del
atributo únicamente tiene que ser igual, menor, mayor, … que al
menos uno de los
valores del conjunto
6. .
REGLAS PARA LOS OPERADORES DE
CONJUNTOS
• PUEDEN SER ENCADENADOS EN CUALQUIER COMBINACIÓN.
• SE EVALÚAN DE DERECHA A IZQUIERDA.
• PODEMOS FORZAR LA PRECEDENCIA MEDIANTE PARÉNTESIS.
• LOS OPERADORES DE CONJUNTOS PUEDEN SER USADOS CON
CONJUNTOS DE
DIFERENTES TABLAS SIEMPRE QUE SE CUMPLA:
1. EL NUMERO DE COLUMNAS DEBE SER EL MISMO EN TODOS LOS
CONJUNTOS
2. LOS NOMBRES DE LAS COLUMNAS SON IRRELEVANTES
3. LOS TIPOS DE DATOS DEBEN COINCIDIR