MySQL veritabanında sorgu sözdizimi/ifade kullanımına göre birlik sırası

MySQL veritabanıSorgu sözdizimi/ifade kullanımına göre birlik sırası

MySQL UNION operatörü

Bu eğitim size MySQL UNION operatörünün sözdizimini ve örneklerini tanıtır.

açıklama

MySQL UNION operatörü, iki veya daha fazla SELECT ifadesinin sonuçlarını tek bir sonuç kümesinde birleştirmek için kullanılır.Birden çok SELECT ifadesi, yinelenen verileri kaldırır.

dilbilgisi

MySQL UNION operatör sözdizimi formatı:

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

تحميل احدث لوحة مفاتيح LG

  • ifade1, ifade2, ... ifade_n: Alınacak sütun.
  • tablolar: Alınacak veri tablosu.
  • NEREDE koşulları: İsteğe bağlı, arama kriterleri.
  • BELİRGİN: İsteğe bağlı olarak, sonuç kümesinden yinelenen verileri kaldırın.UNION operatörü varsayılan olarak verileri tekilleştirmiştir, bu nedenle DISTINCT değiştiricisinin sonuç üzerinde hiçbir etkisi yoktur.
  • HERŞEY: İsteğe bağlı, yinelenenler dahil tüm sonuç kümelerini döndürür.

demo veritabanı

Bu eğitimde, chenweiliang örnek veritabanını kullanacağız.

İşte "Web siteleri" tablosundaki veriler:

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     |
+----+---------------+---------------------------+-------+---------+

İşte "uygulamalar" APP için veriler:

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)

 


SQL UNION örneği

Aşağıdaki SQL ifadesi, "Web siteleri" ve "uygulamalar" tablolarından tümünü seçerfarklıülke (yalnızca farklı değerler):

Örnek

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION, her iki tablodaki tüm ülkeleri listelemek için kullanılamaz.Bazı web siteleri ve uygulamalar aynı ülkeden ise, her ülke yalnızca bir kez listelenir. UNION sadece farklı değerler seçer.Yinelenen değerleri seçmek için lütfen UNION ALL kullanın!

SQL UNION ALL örneği

Aşağıdaki SQL ifadesi, "Web siteleri" ve "uygulamalar" tablolarından seçim yapmak için UNION ALL'yi kullanır.herşeyülke (yinelenen değerler de vardır):

Örnek

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

 


WHERE ile SQL BİRLİĞİ TÜMÜ

Aşağıdaki SQL ifadesi, "Web siteleri" ve "uygulamalar" tablolarından seçim yapmak için UNION ALL'yi kullanır.herşeyÇin için veriler (CN) (yinelenen değerlerle birlikte):

Örnek

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

发表 评论

E-posta adresiniz yayımlanmayacaktır. 必填 项 已 用 * 标注

En gidin