Podemos combinar múltiples consultas utilizando los operadores UNION, UNION ALL, INTERSECT y MINUS.

Los correspondientes campos y/o expresiones que aparecen en la listas de los SELECT de las consultas a las que se le aplican los operadores anteriores deben coincidir en tipo y número, o al menos, tener un tipo compatible o sobre el cual se pueda aplicar un casting automático.



SELECT location_id, department_name "Department", TO_CHAR(NULL) "Warehouse" FROM departments
UNION
SELECT location_id, TO_CHAR(NULL) "Department", warehouse FROM warehouses;

Cuando se aplica el operador UNION sobre dos consultas, el resultado serán los registros de la primera consulta más los registros de la segunda consulta, eliminando los registros duplicados.

Cuando se aplica el operador UNION ALL sobre dos consultas, el resultado serán los registros de la primera consulta más los registros de la segunda consulta.

SELECT product_id FROM inventories
UNION ALL
SELECT product_id FROM order_items;

Cuando se aplica el operador INTERSECT sobre dos consultas, el resultado serán los registros duplicados o coincidentes en la primera y segunda consulta.

SELECT product_id FROM inventories
INTERSECT
SELECT product_id FROM order_items;

Cuando se aplica el operador MINUS sobre dos consultas, el resultado serán los registros que están en la primera consulta pero que no aparecen en la segunda consulta.

SELECT product_id FROM inventories
MINUS
SELECT product_id FROM order_items;

Indicaciones

Siguiente Tema: Consulta de Datos - Subconsultas.