Está en la página 1de 10

Subconsultas

 Tipos de subquery y su sintaxis


 Subquery de única fila
 Funciones de grupo con subquery
 Clausula HAVING con subquery.
 Subquerys con multiples filas
 Operador ALL y ANY
 operador EXISTS,
 Valores NULL en un subquery
Quien tiene un salario mayor al de Abel?

Principal

Cuales empleados tiene el sueldo más


alto que Abel?

Cual es el sueldo
de Abel?
Sintaxis del Subquery

 El subquery (consulta interna) se ejecuta primero que el query


principal (consulta externa).
 El resultado del subquery es usado por el query principal
Reglas para los Subquery

 Los subquerys deben estar entre paréntesis


 Normalmente los subquerys se escriben del lado derecho de la
comparación para que sea mas fácil de leer (Sin embargo puede
aparecer en cualquier lado del operador de comparación).
 Usar funciones de filas únicas con subquery que arrojen como resultado
una sola fila y operadores de múltiples filas con subquerys que den
como resultado múltiples filas
Tipos de Subquerys
 Subquery de fila única

Principal

Subquery Una Fila

 Subquery de múltiples filas

Principal

Subquery Múltiples Filas


Subquerys de fila única
 Retorna sólo una fila
 Se utiliza esa única fila en el proceso de comparación

Operador Descripción

= Igual a
> Mayor que
>= Mayo o igual a
< Menor que
<= Menor o igual que
Cláusula HAVING con Subquery
 Oracle ejecuta primero el subquery.
 Oracle retorna el resultado dentro del la clausula HAVING del query principal
Subquerys con múltiples filas
 Retorna mas de una fila
 Utiliza operadores de comparación para múltiples filas

Operador Descripción

IN Igual a algún miembro de la lista


ANY Debe ser precedido por: =, !=, >, <, <=, >=. Retorna
verdadero si al menos existe un elemento del conjunto
retornado por el subquery para que la relación sea cumplida
ALL Debe ser precedido por: =, !=, >, <, <=, >=. Retorna
verdadero si la relación es cierta para todos los elementos
del conjunto resultante del subquery.
Subquerys con múltiples filas
 Retorna mas de una fila
 Utiliza operadores de comparación para múltiples filas

Operador Descripción

IN Igual a algún miembro de la lista


ANY Debe ser precedido por: =, !=, >, <, <=, >=. Retorna
verdadero si al menos existe un elemento del conjunto
retornado por el subquery para que la relación sea cumplida
ALL Debe ser precedido por: =, !=, >, <, <=, >=. Retorna
verdadero si la relación es cierta para todos los elementos
del conjunto resultante del subquery.
Operador EXISTS con Subquery

Valores NULL en Subquery

También podría gustarte