Estructuras y Programacion

6.7 Consultas Anidadas

website translator plugin

Una consulta anidada, como su nombre indica, es aquella que está contenida dentro de otra. Los resultados de una la consulta anidada se utilizan como valores de comparación de la cláusula WHERE de la consulta que la anida. Se evaluará antes la sentencia SELECT anidada y una vez obtenido el valor o conjunto de valores se evaluará la otra. El formato es el siguiente:

SELECT col1, col1, ... , coln

FROM tabla1

WHERE col <operador lógico>

(SELECT col

FROM tabla2

WHERE condiciones);

 

Se deben tener en cuenta los siguientes aspectos para ejecutar este tipo de sentencias:

-La tabla de la sentencia SELECT anidada no tiene por qué ser la misma que la de la sentencia SELECT que la anida.

- El tipo de datos de la 'col' de la sentencia SELECT superior y de la 'col' de la anidada debe ser el mismo.

- Siempre se seleccionarán el mismo número de columnas de la sentencia SELECT anidada que el de columnas que forman parte de la cláusula WHERE en la superior.

- Las filas devueltas por la consulta anidada deben corresponderse con el tipo de operador lógico indicado. Si el operador lógico es '=' la sentencia SELECT anidada solo podrá devolver una única fila.