Ordre de la unió per ús de la sintaxi/de la declaració de la consulta a la base de dades MySQL

Ús de la sintaxi de consulta/sentència UNION ORDER BY de la base de dades MySQL

MySQL Operador UNION

Aquest tutorial us presenta la sintaxi i els exemples de l'operador MySQL UNION.

descripció

L'operador MySQL UNION s'utilitza per combinar els resultats de dues o més sentències SELECT en un únic conjunt de resultats.Diverses declaracions SELECT eliminen les dades duplicades.

gramàtica

Format de sintaxi de l'operador MySQL UNION:

SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];

参数

  • expressió1, expressió2, ... expressió_n: Columna per recuperar.
  • taules: La taula de dades a recuperar.
  • ON condicions: Opcional, criteris de cerca.
  • DISTINTS: Opcionalment, elimineu les dades duplicades del conjunt de resultats.L'operador UNION té dades desduplicades per defecte, de manera que el modificador DISTINCT no té cap efecte en el resultat.
  • TOTS: Opcional, retorna tots els conjunts de resultats, inclosos els duplicats.

base de dades de demostració

En aquest tutorial, utilitzarem la base de dades de mostra de chenweiliang.

Aquí teniu les dades de la taula "Llocs web":

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://www.chenweiliang.com/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Aquí teniu les dades de l'APP "aplicacions":

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)

 


Instància SQL UNION

La següent instrucció SQL selecciona tots els països diferents (només valors diferents) de les taules "Llocs web" i "aplicacions" :

Instància

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION no es pot utilitzar per llistar tots els països a les dues taules.Si alguns llocs web i aplicacions són del mateix país, cada país només apareixerà una vegada. UNION només tria valors diferents.Feu servir UNION ALL per seleccionar valors duplicats!

Instància SQL UNION ALL

La següent instrucció SQL utilitza UNION ALL per seleccionar tots els països (inclosos els valors duplicats) de les taules "Llocs web" i "aplicacions" :

Instància

SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;

 


SQL UNION ALL amb ON

La següent instrucció SQL utilitza UNION ALL per seleccionar totes les dades de la Xina (CN) de les taules "Llocs web" i "aplicacions" (inclosos els valors duplicats):

Instància

SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Tornar a dalt