Databases
T01-010-01 Consultas con operaciones de conjuntos
Enunciado
MINUSLa operación
MINUSdevuelve aquellas filas que están en el primerSELECTpero no en el segundo. Las filas duplicadas del primerSELECTse reducirán a una antes de comenzar la comparación.Sintaxis
Consulta SELECT
MINUS
Consulta SELECTEl 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
MINUSpara ayudar a Neena Kochhar a encontrar el departamento que necesita
Tipo
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)

