5. Consultas de Unión Externas
Curso: Curso de SQL, por Claudio Casares
Consultas de Unión Externas
[Curso de SQL - Por Claudio Casares]
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:
consulta 1,consulta 2, consulta n | 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
- NuevasCuentas
- UNION ALL
- SELECT *
- FROM
- Clientes
- WHERE
- CantidadPedidos > 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
- NombreCompania, Ciudad
- FROM
- Proveedores
- WHERE
- Pais = 'Brasil'
- UNION
- SELECT NombreCompania, Ciudad
- FROM Clientes
- WHERE Pais = 'Brasil'
- (Recupera los nombres y las ciudades de todos proveedores y clientes de Brasil)
- SELECT
- NombreCompania, Ciudad
- FROM
- Proveedores
- WHERE
- Pais = 'Brasil'
- UNION
- SELECT NombreCompania, Ciudad
- FROM Clientes
- WHERE Pais = '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
- NombreCompania, Ciudad
- FROM
- Proveedores
- WHERE
- Pais = 'Brasil'
- UNION
- SELECT NombreCompania, Ciudad
- FROM Clientes
- WHERE Pais = 'Brasil'
- UNION
- SELECT Apellidos, Ciudad
- FROM Empleados
- WHERE Region = '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_Clientes
- UNION TABLE
- ListaProveedores
- (Recupera los nombres y códigos de todos los proveedores y clientes)
Actualizado el: 10-03-2006 00:36