English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Este tutorial les presenta la sintaxis y los ejemplos del operador UNION de MySQL.
El operador UNION de MySQL se utiliza para combinar los resultados de dos o más consultas SELECT en una colección de resultados. Las consultas SELECT múltiples eliminarán los datos repetidos.
Formato de sintaxis del operador UNION de MySQL:
SELECT expresión1, expresión2, ... expresión_n FROM tablas [WHERE condiciones] UNION [ALL | DISTINCT] SELECT expresión1, expresión2, ... expresión_n FROM tablas [WHERE condiciones];
expresión1, expresión2, ... expresión_n: Columnas a buscar.
tablas: Tabla de datos a buscar.
WHERE condiciones: Opcional, condiciones de búsqueda.
DISTINCT: Opcional, eliminar datos duplicados del conjunto de resultados. Por defecto, el operador UNION ya elimina los datos duplicados, por lo que el modificador DISTINCT no tiene efecto en los resultados.
ALL: Opcional, devolver todos los conjuntos de resultados, incluyendo datos duplicados.
En este tutorial, utilizaremos w3base de datos de ejemplo de codebox.
A continuación se muestra 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 | 基础教程网 | http://es.oldtoolbag.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 muestra los datos de la APP "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 filas en conjunto (0.00 seg)
La siguiente sentencia SQL selecciona todos los registros de las tablas "Websites" y "apps"Diferentescountry (solo valores diferentes):
SELECT country FROM Websites UNION SELECT country FROM apps ORDER BY country;
El resultado de ejecutar el siguiente SQL es el siguiente:
Nota:UNION no se puede usar para listar todos los country de dos tablas. Si algunos sitios web y APP vienen de un mismo país, solo se listará una vez por país. UNION solo seleccionará valores diferentes. ¡Use UNION ALL para seleccionar valores repetidos!
La siguiente sentencia SQL utiliza UNION ALL para seleccionar de las tablas "Websites" y "apps"Todos loscountry (también hay valores repetidos):
SELECT country FROM Websites UNION ALL SELECT country FROM apps ORDER BY country;
El resultado de ejecutar el siguiente SQL es el siguiente:
La siguiente sentencia SQL utiliza UNION ALL para seleccionar de las tablas "Websites" y "apps"Todos losLos datos de China (CN) (también hay valores repetidos):
SELECT country, name FROM Websites WHERE country='CN' UNION ALL SELECT country, app_name FROM apps WHERE country='CN' ORDER BY country;
El resultado de ejecutar el siguiente SQL es el siguiente: