20-Operador UNION en SQL

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;
        




Publicar un comentario

0 Comentarios