Databases

T01-010-01 Consultas con operaciones de conjuntos

Enunciado

INTERSECT

En la operación INTERSECT, se examinan las filas de los dos SELECT y se devolverán aquellas que aparezcan en ambos conjuntos. Las filas duplicadas se eliminarán.

Sintaxis

Consulta SELECT

INTERSECT

Consulta SELECT

El número de columnas que devuelven ambas consultas SELECT debe ser el mismo y los tipos de dichas columnas deben ser compatibles.

Ejemplo:

Muestra los empleados que están realizando un trabajo distinto al que ya han desarrollado en el mismo departamento:

SELECT DISTINCT FIRST_NAME, LAST_NAME, DEPARTMENT_ID
FROM HR.employees
INTERSECT
SELECT DISTINCT FIRST_NAME, LAST_NAME, job_history.DEPARTMENT_ID
FROM HR.job_history JOIN HR.employees USING (EMPLOYEE_ID)

FIRST_NAME LAST_NAME DEPARTMENT_ID
Jonathon Taylor 80
Matthew Weiss 50
Michael Hartstein 20
Payam Kaufling 50

Ejercicio

Neena Kochhar no se encuentra cómoda en el departamento actual, por lo que está pensando en mudarse a 'UK'.

Necesita encontrar un departamento que esté en el país cuyo identificador sea 'UK' y que la media del salario sea superior a 8000

Utiliza INTERSECT para ayudar a Neena Kochhar a encontrar el departamento que necesita

Tipo

SELECT

Solución


												
SELECT DEPARTMENT_NAME FROM HR.EMPLOYEES JOIN HR.DEPARTMENTS USING (DEPARTMENT_ID) GROUP BY DEPARTMENT_NAME HAVING AVG(SALARY) > 8000 INTERSECT SELECT DEPARTMENT_NAME FROM HR.DEPARTMENTS JOIN HR.LOCATIONS USING(LOCATION_ID) WHERE COUNTRY_ID = 'UK'

Prueba


											

Librerías (Onfly databases)