El operador Union se usa para combinar un conjunto de resultados de dos o mas declaraciones SELECT
- Cada declaracion SELECT dentro de Union debe de tener el mismo numero de columnas
- Las columnas deben de tener tipos de datos similares
- Las columnas de cada declarion select deben esta en la misma orden
sintaxis de UNION
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
...
UNION ALL Sintaxis
El operador UNION solo seleciona valores distintos de forma predeterminada
Para permitir valores duplicados debese usar el operador UNION ALL
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
NOTA Los nombres de las columnas en el conjunto de resultados suelen ser iguales a los nombres de las columnas
en la primera declaracion SELECT
Ejemplo de UNION
La seguiente instrucion devuelve las ciudades(solo valores distintos) de la tabla clientes y
Proveedores
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
NOTA Si agunos clientes o proveedores tienen la misma ciudad, cada ciudad sera enumerada solo una vez, porque
UNION
seleciona solo valores distintos
Si queres usar valores duplicados deberas usar la declaracion UNION ALL
Ejemplo de UNION ALL
La seguiente instrucion devuelve las ciudades (tambien duplicadas) de las tablas Clientes y proveedores
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Ejemplo de UNION con Where
se devuelven las ciudades alemanas (Valores distintos) de las tablas clientes y proveedores
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Ejemplo de UNION ALL con Where
se devuelven las ciudades alemanas (tabien valores duplicados) de las tablas clientes y proveedores
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Ejemplo de UNION
Se devuelve todas las ciudades de clientes y proveedores
SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias