Databases

T01-010-01 Consultas con operaciones de conjuntos

Enunciado

MINUS

La operación MINUS devuelve aquellas filas que están en el primer SELECT pero no en el segundo. Las filas duplicadas del primer SELECT se reducirán a una antes de comenzar la comparación.

Sintaxis

Consulta SELECT

MINUS

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 del departamento 20 que no habían estado previamente realizando otro trabajo en el mismo departamento:

SELECT DISTINCT FIRST_NAME, LAST_NAME
FROM HR.employees
WHERE DEPARTMENT_ID = 20
MINUS
SELECT DISTINCT FIRST_NAME, LAST_NAME
FROM HR.job_history JOIN HR.employees USING (EMPLOYEE_ID)
WHERE job_history.DEPARTMENT_ID = 20

FIRST_NAME LAST_NAME
Pat Fay

Ejercicio

Neena Kochhar no se encuentra cómoda en el departamento actual, por lo que está pensando en cambiar, no solo de departamento, sino también de país.

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

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

Tipo

SELECT

Solución


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

Prueba


											

Librerías (Onfly databases)