El operador UNION se usa para combinar el conjunto de resultados de dos o más instrucciones SELECT.
Cada instrucción SELECT dentro de UNION debe tener el mismo número de columnas, las columnas también deben tener tipos de datos similares. Las columnas en cada declaración SELECT también deben estar en el mismo orden.
Sintaxis SQL UNION
A continuación puedes ver la sintaxis que se utiliza para realizar la instrucción UNION para unir consultas:
SELECT nombre_columna(s) FROM tabla1 UNION SELECT nombre_columna(s) FROM tabla2;
Sintaxis UNION ALL en SQL
El operador de UNION selecciona solamente los valores distintos por defecto. Para permitir valores duplicados, utilice UNION ALL:
SELECT nombre_columna(s) FROM tabla1 UNION ALL SELECT nombre_columna(s) FROM tabla2;
Ejemplo SQL UNION y UNION ALL
Los nombres de columna en el conjunto de resultados generalmente son iguales a los nombres de columna en la primera instrucción SELECT en la UNIÓN.
La siguiente declaración SQL selecciona todas las ciudades diferentes (solo valores distintos) de “CLIENTES” y “PROVEEDORES”:
SELECT Ciudad FROM Clientes UNION SELECT Ciudad FROM Proveedores ORDER BY Ciudad;
SELECT Ciudad FROM Clientes UNION ALL SELECT Ciudad FROM Proveedores ORDER BY Ciudad;
Ejemplo SQL UNION con WHERE
La siguiente declaración SQL selecciona todas las diferentes ciudades españolas (solo valores distintos) de “CLIENTES” y “PROVEEDORES”:
SELECT Ciudad, Pais FROM Clientes WHERE Pais ='España' UNION SELECT Ciudad, Pais FROM Proveedores WHERE Pais='España' ORDER BY Ciudad;
SELECT Ciudad, Pais FROM Clientes WHERE Pais='España' UNION ALL SELECT Ciudad, Pais FROM Proveedores WHERE Pais='España' ORDER BY Ciudad;