Ordine di unione per sintassi della query/utilizzo dell'istruzione nel database MySQL

Sintassi/utilizzo dell'istruzione di query UNION ORDER BY nel database MySQL

MySQL operatore dell'UNIONE

Questo tutorial introduce la sintassi e gli esempi dell'operatore MySQL UNION.

Descrizione

L'operatore MySQL UNION viene utilizzato per combinare i risultati di due o più istruzioni SELECT in un unico set di risultati.Più istruzioni SELECT rimuovono i dati duplicati.

grammatica

Formato della sintassi dell'operatore MySQL UNION:

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

参数

  • espressione1, espressione2, ... espressione_n: Colonna da recuperare.
  • tabelle: La tabella di dati da recuperare.
  • DOVE condizioni: Facoltativo, criteri di ricerca.
  • DISTINTO: Facoltativamente, rimuovere i dati duplicati dal set di risultati.L'operatore UNION ha deduplicato i dati per impostazione predefinita, quindi il modificatore DISTINCT non ha alcun effetto sul risultato.
  • TUTTI: Facoltativo, restituisce tutti i set di risultati, inclusi i duplicati.

banca dati demo

In questo tutorial utilizzeremo il database di esempio chenweiliang.

Ecco i dati della tabella "Siti 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     |
+----+---------------+---------------------------+-------+---------+

Ecco i dati per l'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 rows in set (0.00 sec)

 


Istanza SQL UNION

La seguente istruzione SQL seleziona tutti i paesi distinti (solo valori distinti) dalle tabelle "Siti web" e "App" :

Esempio

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION non può essere utilizzato per elencare tutti i paesi in entrambe le tabelle.Se alcuni siti Web e app provengono dallo stesso paese, ogni paese verrà elencato solo una volta. UNION sceglie solo valori distinti.Utilizzare UNION ALL per selezionare valori duplicati!

Istanza SQL UNION ALL

La seguente istruzione SQL utilizza UNION ALL per selezionare tutti i paesi (inclusi i valori duplicati) dalle tabelle "Siti web" e "App" :

Esempio

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

 


SQL UNION ALL con WHERE

La seguente istruzione SQL utilizza UNION ALL per selezionare tutti i dati relativi alla Cina (CN) dalle tabelle "Siti web" e "App" (inclusi i valori duplicati):

Esempio

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

发表 评论

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

Scorrere fino a Top