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

pangkalan data MySQLSusunan kesatuan mengikut sintaks pertanyaan/penggunaan pernyataan

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 daripada jadual "Laman Web" dan "aplikasi".berbezanegara (hanya nilai yang berbeza):

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 daripada jadual "Laman Web" dan "aplikasi".semuanegara (juga mempunyai nilai pendua):

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 daripada jadual "Laman Web" dan "aplikasi".semuaData untuk China (CN) (juga dengan 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;

发表 评论

Alamat e-mel anda tidak akan diterbitkan. 必填 项 已 用 * 标注

Tatal ke