Susunan kesatuan mengikut penggunaan sintaks/penyataan pertanyaan dalam pangkalan data MySQL

Penggunaan sintaks/pernyataan pertanyaan UNION ORDER BY pangkalan data MySQL

MySQL pengendali UNION

Tutorial ini memperkenalkan anda kepada sintaks dan contoh pengendali MySQL UNION.

Uraian

Pengendali MySQL UNION digunakan untuk menggabungkan hasil dua atau lebih pernyataan SELECT ke dalam set hasil tunggal.Penyataan SELECT berbilang mengalih keluar data pendua.

tatabahasa

Format sintaks pengendali MySQL UNION:

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

参数

  • ungkapan1, ungkapan2, ... ungkapan_n: Lajur untuk mendapatkan semula.
  • jadual: Jadual data untuk mendapatkan semula.
  • WHERE syarat: Pilihan, kriteria carian.
  • BERBEZA: Secara pilihan, alih keluar data pendua daripada set hasil.Pengendali UNION telah menyahduplikasi data secara lalai, jadi pengubah suai DISTINCT tidak mempunyai kesan ke atas hasilnya.
  • SEMUA: Pilihan, mengembalikan semua set hasil, termasuk pendua.

pangkalan data demo

Dalam tutorial ini, kami akan menggunakan pangkalan data sampel chenweiliang.

Berikut ialah data daripada jadual "Laman 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     |
+----+---------------+---------------------------+-------+---------+

Berikut ialah data untuk APP "apl":

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)

 


Contoh SQL UNION

Pernyataan SQL berikut memilih semua negara yang berbeza (hanya nilai yang berbeza) daripada jadual "Laman Web" dan "aplikasi" :

contoh

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION tidak boleh digunakan untuk menyenaraikan semua negara dalam kedua-dua jadual.Jika sesetengah tapak web dan apl adalah dari negara yang sama, setiap negara hanya akan disenaraikan sekali. UNION hanya memilih nilai yang berbeza.Sila gunakan UNION ALL untuk memilih nilai pendua!

SQL UNION SEMUA contoh

Pernyataan SQL berikut menggunakan UNION ALL untuk memilih semua negara (termasuk nilai pendua) daripada jadual "Laman Web" dan "aplikasi" :

contoh

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

 


SQL UNION SEMUA dengan WHERE

Pernyataan SQL berikut menggunakan UNION ALL untuk memilih semua data untuk China (CN) daripada jadual "Laman Web" dan "aplikasi" (termasuk nilai pendua):

contoh

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

发表 评论

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

Tatal ke