Consultas de Unión Externas
Bases de datos-SQL-Sentencias
SQL-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:
| 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)