AnteriorPosterior

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 nSon 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

AnteriorPosterior