SQL UNIONOperadores
El operador SQL UNION combina los resultados de dos o más declaraciones SELECT.
El operador UNION se utiliza para combinar los conjuntos de resultados de dos o más declaraciones SELECT. Puede seleccionar datos de varias tablas y combinar los conjuntos de resultados en un solo conjunto de resultados. Al usar UNION, cada declaración SELECT debe tener el mismo número de columnas y los tipos de datos de las columnas correspondientes deben ser similares.
Sintaxis de SQL UNION
SELECT column1, column2, ... FROM table1 UNION SELECT column1, column2, ... FROM table2;
El operador UNION elimina registros duplicados de forma predeterminada. Si necesita conservar todos los registros duplicados, puede usar el operador UNION ALL.

Sintaxis de SQL UNION ALL
SELECT column1, column2, ... FROM table1 UNION ALL SELECT column1, column2, ... FROM table2;

Nota:Los nombres de las columnas en el conjunto de resultados de UNION siempre son iguales a los nombres de las columnas de la primera declaración SELECT en UNION.
Base de datos de demostración
En este tutorial, utilizaremos la base de datos de muestra EJEMPLO.
A continuación se muestran los datos seleccionados de la tabla "Websites":
mysql> SELECT * FROM Websites; +----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | Ejemplo | http://www.example.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
A continuación se muestran los datos de la aplicación "apps":
mysql> SELECT * FROM apps; +----+------------+-------------------------+---------+ | id | app_name | url | country | +----+------------+-------------------------+---------+ | 1 | QQ APP | http://im.qq.com/ | CN | | 2 | 微博 APP | http://weibo.com/ | CN | | 3 | 淘宝 APP | https://www.taobao.com/ | CN | +----+------------+-------------------------+---------+ 3 rows in set (0.00 sec)
Ejemplo de SQL UNION
La siguiente declaración SQL selecciona todos losdiferentescountry (solo valores diferentes):
Ejemplo
UNION
SELECT country FROM apps
ORDER BY country;
Al ejecutar el SQL anterior, el resultado es el siguiente:
Nota:UNION no se puede utilizar para listar todos los country de las dos tablas. Si algunos sitios web y aplicaciones provienen del mismo país, cada país solo se listará una vez. UNION solo selecciona valores diferentes. ¡Utilice UNION ALL para seleccionar valores duplicados!
Ejemplo de SQL UNION ALL
La siguiente declaración SQL utiliza UNION ALL para seleccionar de las tablas "Websites" y "apps"todos loscountry (también con valores duplicados):
Ejemplo
UNION ALL
SELECT country FROM apps
ORDER BY country;
Al ejecutar el SQL anterior, el resultado es el siguiente:
SQL UNION ALL con WHERE
La siguiente declaración SQL utiliza UNION ALL para seleccionar de las tablas "Websites" y "apps"todos losdatos de China (CN) (también con valores duplicados):
Ejemplo
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
Al ejecutar el SQL anterior, el resultado es el siguiente: