martes, 8 de noviembre de 2016

SUBQUERY


Sintaxis de Subconsultas 


Una subconsulta es una sentencia SELECT que está embebida en una cláusula de otra sentencia SELECT. Puede crear sentencias potentes sentencias a partir de otras más simples mediante subconsultas. Pueden resultar muy útiles si necesita seleccionar filas de una tabla con una condición que depende de los datos de la propia tabla. 

Puede colocar la subconsulta en diferentes cláusulas SQL, como éstas:
  • Cláusula WHERE 
  • Cláusula HAVING 
  • Cláusula FROM 
En la sintaxis:
Operator incluye una condición de comparación como, por ejemplo, >, = o IN

      Nota: Hay dos clases de condiciones de comparación: operadores de una sola fila (>, =, >=, <, <>, <=) y operadores de varias filas (IN, ANY, ALL).

La subconsulta se suele conocer como sentencia SELECT anidada, SUBSELECT o SELECT interna. La subconsulta se suele ejecutar en primer lugar y se utiliza su salida para completar la condición de consulta para la consulta principal (o externa).

La subconsulta (consulta interna) se ejecuta una vez antes de la consulta principal (consulta externa).
La consulta principal utiliza el resultado de la subconsulta.


En la consulta interna determina el salario del empleado Abel. La consulta externa toma el resultado de la consulta interna y lo utiliza para mostrar todos los empleados que ganan más que esta cantidad.

Instrucciones para el Uso de Subconsultas 
  • Escriba las subconsultas entre paréntesis. 
  • Sitúe las subconsultas a la derecha de la condición de comparación. 
  • La cláusula ORDER BY de la subconsulta no es necesaria a menos que se realice un análisis de los N principales. 
  • Utilice operadores de una sola fila con subconsultas de una sola fila y operadores de varias filas con subconsultas de varias filas. 
  • Las subconsultas deben ir entre paréntesis. 
  • Sitúe las subconsultas a la derecha de la condición de comparación para que se lean mejor. 
  • Con Oracle8i y versiones posteriores, se puede utilizar una cláusula ORDER BY y es necesaria en la subconsulta para realizar análisis de los N principales. 
  • Antes Oracle8i, sin embargo, las subconsultas no podían contener una cláusula ORDER BY. Sólo se podía utilizar una cláusula ORDER BY para una sentencia SELECT; si se especificaba, tenía que ser la última cláusula de la sentencia SELECT principal. 
  • Se utilizan dos clases de condiciones de comparación en las subconsultas: operadores de una sola fila y operadores de varias filas. 







Share:

0 comentarios:

Publicar un comentario

Archivo

Cual es el tema de mayor interes para ti?