Consultas de Unión Externas
Se utiliza la operación UNION para crear
una consulta de unión, combinando los resultados de dos o más consultas o tablas
independientes. Su sintaxis es:
[TABLE] consulta1 UNION [ALL] [TABLE]
consulta2 [UNION [ALL] [TABLE] consultan [ ... ]]
En donde:
- consulta1, consulta2, consultan
- Son instrucciones SELECT, el nombre de una
consulta almacenada o el nombre de una tabla almacenada precedido por la
palabra clave TABLE.
Puede combinar los resultados de dos o más consultas, tablas e
instrucciones SELECT, en cualquier orden, en una
única operación UNION. El ejemplo siguiente
combina una tabla existente llamada Nuevas Cuentas y una instrucción
SELECT:
TABLE [Nuevas Cuentas] UNION ALL SELECT * FROM Clientes
WHERE [Cantidad pedidos] > 1000;
Si no se indica lo contrario, no se devuelven registros duplicados cuando
se utiliza la operación UNION, no obstante puede
incluir el predicado ALL para asegurar que se
devuelven todos los registros. Esto hace que la consulta se ejecute más
rápidamente. Todas las consultas en una operación
UNION deben pedir el mismo número de campos, no
obstante los campos no tienen porqué tener el mismo tamaño o el mismo tipo de
datos.
Se puede utilizar una cláusula GROUP BY y/o
HAVING en cada argumento consulta para agrupar
los datos devueltos. Puede utilizar una cláusula
ORDER BY al final del último argumento consulta
para visualizar los datos devueltos en un orden específico.
SELECT [Nombre de compañía], Ciudad FROM Proveedores WHERE
País = 'Brasil' UNION SELECT [Nombre de compañía], Ciudad FROM Clientes
WHERE País = "Brasil"
- Recupera los nombres y las ciudades de todos proveedores y clientes de Brasil
SELECT [Nombre de compañía], Ciudad FROM Proveedores WHERE País = 'Brasil'
UNION SELECT [Nombre de compañía], Ciudad FROM Clientes WHERE País =
'Brasil' ORDER BY Ciudad
- Recupera los nombres y las ciudades de todos proveedores y clientes radicados en Brasil, ordenados por el nombre de la ciudad
SELECT [Nombre de compañía], Ciudad FROM Proveedores WHERE País = 'Brasil'
UNION SELECT [Nombre de compañía], Ciudad FROM Clientes WHERE País =
'Brasil' UNION SELECT [Apellidos], Ciudad FROM Empleados WHERE Región =
'América del Sur'
- Recupera los nombres y las ciudades de todos los proveedores y clientes de brasil y los apellidos y las ciudades de todos los empleados de América del Sur
TABLE [Lista de clientes] UNION TABLE [Lista de proveedores]
- Recupera los nombres y códigos de todos los proveedores y clientes