10. 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"

    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

    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'

    TABLE [Lista de clientes] UNION TABLE [Lista de proveedores]

 

Regresar al menú del tutorial