Straipsnių katalogas
MySQL duomenų bazės UNION ORDER BY užklausos sintaksės/sakinio naudojimas
MySQL UNION operatorius
Šioje pamokoje pristatoma MySQL UNION operatoriaus sintaksė ir pavyzdžiai.
apibūdinimas
MySQL UNION operatorius naudojamas dviejų ar daugiau SELECT teiginių rezultatams sujungti į rezultatų rinkinį. Keli SELECT teiginiai pašalins pasikartojančius duomenis.
gramatika
MySQL UNION operatoriaus sintaksės formatas:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
参数
- išraiška1, išraiška2, … išraiška_n: stulpelis, kurį reikia gauti.
- lentelės: Duomenų lentelė, kurią reikia gauti.
- KUR sąlygos: Neprivaloma, paieškos kriterijai.
- ATSKIRTI: Pasirinktinai pašalinkite pasikartojančius duomenis iš rezultatų rinkinio. Pagal numatytuosius nustatymus UNION operatorius jau pašalino pasikartojančius duomenis, todėl modifikatorius DISTINCT neturi įtakos rezultatams.
- VISOS: Pasirenkama, pateikia visus rezultatų rinkinius, kuriuose yra pasikartojančių duomenų.
Demo duomenų bazė
Šioje pamokoje naudosime chenweiliang duomenų bazę.
Toliau pateikiami duomenys, pasirinkti iš lentelės „Svetainės“:
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 | +----+---------------+---------------------------+-------+---------+
Štai „apps“ APP duomenys:
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 egzempliorius
Šis SQL sakinys pasirenka visas skirtingas šalis (tik skirtingas reikšmes) iš lentelių „Svetainės“ ir „Programėlės“ :
pavyzdys
SELECT country FROM Websites UNION SELECT country FROM apps ORDER BY country;
SQL UNION ALL egzempliorius
Šiame SQL sakinyje naudojama UNION ALL funkcija, kad būtų pasirinktos visos šalys (įskaitant pasikartojančias reikšmes) iš lentelių „Svetainės“ ir „Programos“ :
pavyzdys
SELECT country FROM Websites UNION ALL SELECT country FROM apps ORDER BY country;
SQL UNION ALL with WHERE
Šiame SQL sakinyje naudojama UNION ALL funkcija, kad būtų pasirinkti visi Kinijos (CN) duomenys iš lentelių „Svetainės“ ir „Programos“ (įskaitant pasikartojančias reikšmes):
pavyzdys
SELECT country, name FROM Websites WHERE country='CN' UNION ALL SELECT country, app_name FROM apps WHERE country='CN' ORDER BY country;
Tikiuosi, kad jums bus naudingas straipsnis „Union Order By Query Syntax/Statement Usage in MySQL Database“, kuriuo pasidalino Chen Weiliang tinklaraštyje ( https://www.chenweiliang.com/ ).
Nedvejodami pasidalinkite šio straipsnio nuoroda: https://www.chenweiliang.com/cwl-475.html
