Uso de Subconsultas para Resolver Consultas
Usando Subconsulta para Resolver un Problema
Supongamos que se quiere escribir una consulta para saber quién gana un salario mayor que el salariode Abel.
Para resolver este problema, se necesitan dos consultas: una para ver cuánto gana Abel, y una segunda consulta para encontrar quién gana más de esa cantidad.
Este problema se puederesolver con la combinación de las dos consultas, colocando una consulta dentro de otra consulta. La consulta interna (o subconsulta) devuelve un valor que es utilizado por la consulta externa (o consultaprincipal).
El uso de una subconsulta es equivalente a realizar dos consultas secuenciales y usar el resultado de la primera consulta como el valor de búsqueda en la segunda consulta.
Una subconsultaes una instrucción SELECT que está en una cláusula de otra instrucción SELECT. Se pueden construir poderosas declaraciones mediante el uso de subconsultas. Pueden ser muy útil cuando se necesitaseleccionar filas de una tabla con una condición que depende de los datos de la misma tabla.
Se pueden colocar subconsultas en una cláusula SQL como:
Cláusula WHERE.
Cláusula HAVING.
Cláusula FROM.
En lasintaxis:
operador_comparación : corresponde a una condición de comparación que pueden ser: >, =, >=, <, <>, <= (operadores de una sola fila) o IN, ANY, ALL (operadores de múltiples filas).
?
1
23
4
5
6
7
8
-- Ejemplo
SELECT last_name, salary
FROM employees
WHERE salary > 11000
(SELECT salary
FROM employees
WHERE last_name = 'Abel');
En elejemplo, la consulta interna o subconsulta es la primera que se resuelve y obtiene el salario del empleado Abel. Posteriormente la consulta externa obtiene a todos los empleados que posean un salariomayor al valor obtenido en la subconsulta que en este caso es 11000.
Las subconsultas deben ser escritas entre paréntesis.
Colocar las subconsultas en el lado derecho de la condición de comparación...
Regístrate para leer el documento completo.