Databases
T01-011-01 Subconsultas
Enunciado
Subconsultas en la cláusula
WHERE
que devuelven valores únicos.Otro operador que podemos utilizar con subconsultas que devuelven conjuntos de valores es
IN. Este operador ya lo utilizamos como operador de conjuntos. Lo recordamos ahora:... que ocurriría si la lista de posibles valores se incrementara, por ejemplo a todos los de Europa. Esa lista debería incluir, al menos: 'IT', 'UK', 'DE', 'CH', 'NL'...:
SELECT STREET_ADDRESS, CITY, COUNTRY_ID
FROM HR.locations
WHERE COUNTRY_ID IN ('IT', 'UK', 'DE', 'CH', 'NL')Como en aquel momento no conocíamos las subconsultas, tuvimos que acudir a la tabla HR.countries a buscar manualmente los códigos de los países que pertenecen a 'Europe'. Pero, esta búsqueda previa la podemos enviar como subconsulta:
SELECT STREET_ADDRESS, CITY, COUNTRY_ID
FROM HR.locations
WHERE COUNTRY_ID IN (
SELECT COUNTRY_ID
FROM HR.countries JOIN HR.regions USING(REGION_ID)
WHERE REGION_NAME = 'Europe'
)
STREET_ADDRESS CITY COUNTRY_ID 20 Rue des Corps-Saints Geneva CH Murtenstrasse 921 Bern CH Schwanthalerstr. 7031 Munich DE 1297 Via Cola di Rie Roma IT ... ... ...
Ejercicio:
Utilizando una subconsulta, muestra los empleados del esquema HR cuyo trabajo contiene la palabra 'Representative'.
Ordena los resultados alfabéticamente por el apellido.
Tipo
Solución
SELECT FIRST_NAME, LAST_NAME, JOB_ID
FROM HR.employees
WHERE JOB_ID IN (
SELECT JOB_ID
FROM HR.jobs
WHERE JOB_TITLE LIKE '%Representative%'
)
ORDER BY LAST_NAME ASC
Prueba
LibrerÃas (Onfly databases)

