MySQL verilənlər bazasında sorğu sintaksisi/ifadəsinin istifadəsi ilə birləşmə sırası

MySQL verilənlər bazasıSorğu sintaksisi/ifadəsinin istifadəsi ilə birlik sırası

MySQL UNION operatoru

Bu dərslik sizi MySQL UNION operatorunun sintaksisi və nümunələri ilə tanış edir.

təsviri

MySQL UNION operatoru iki və ya daha çox SELECT ifadəsinin nəticələrini bir nəticə dəstində birləşdirmək üçün istifadə olunur.Çoxsaylı SELECT ifadələri dublikat məlumatları silir.

qrammatika

MySQL UNION operator sintaksis formatı:

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

参数

  • ifadə1, ifadə2, ... ifadə_n: Almaq üçün sütun.
  • masalar: Almaq üçün məlumat cədvəli.
  • HARADA şərtlər: Könüllü, axtarış meyarları.
  • FƏRQLİ: İstəyə görə, nəticə dəstindən dublikat məlumatları silin.UNION operatoru standart olaraq verilənləri təkmilləşdirmişdir, ona görə də DISTINCT dəyişdiricinin nəticəyə heç bir təsiri yoxdur.
  • BÜTÜN: İsteğe bağlı, dublikatlar daxil olmaqla bütün nəticə dəstlərini qaytarır.

demo verilənlər bazası

Bu dərslikdə biz chenweiliang nümunə verilənlər bazasından istifadə edəcəyik.

Budur "Veb saytlar" cədvəlindən məlumatlar:

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

Budur "tətbiqlər" APP üçün məlumatlar:

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 nümunəsi

Aşağıdakı SQL ifadəsi "Veb saytlar" və "tətbiqlər" cədvəllərindən hamısını seçirfərqliölkə (yalnız fərqli dəyərlər):

Nümunə

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION hər iki cədvəldə bütün ölkələri sadalamaq üçün istifadə edilə bilməz.Bəzi veb-saytlar və proqramlar eyni ölkədəndirsə, hər bir ölkə yalnız bir dəfə siyahıya alınacaq. UNION sadəcə fərqli dəyərlər seçir.Dublikat dəyərləri seçmək üçün UNION ALL istifadə edin!

SQL UNION ALL nümunəsi

Aşağıdakı SQL ifadəsi "Veb saytlar" və "tətbiqlər" cədvəllərindən seçmək üçün UNION ALL istifadə edirhamısıölkə (həmçinin dublikat dəyərlərə malikdir):

Nümunə

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

 


SQL UNION ALL WHERE ilə

Aşağıdakı SQL ifadəsi "Veb saytlar" və "tətbiqlər" cədvəllərindən seçmək üçün UNION ALL istifadə edirhamısıÇin (CN) üçün məlumat (həmçinin dublikat dəyərlərlə):

Nümunə

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

发表 评论

E-poçt ünvanınız dərc olunmayacaq. Zəruri sahələrdən istifadə olunur * Etiket

Top gedin