Artikola Adresaro
MySQL-datumbazo UNIO ORDER BY serĉsintakso/deklaruzo
MySQL UNION-funkciigisto
Ĉi tiu lernilo prezentas vin al la sintakso kaj ekzemploj de la MySQL UNION-funkciigisto.
Priskribo
La MySQL UNION-funkciigisto estas uzata por kombini la rezultojn de du aŭ pli da SELECT deklaroj en ununuran rezultan aron.Multoblaj SELECT deklaroj forigas duplikatajn datumojn.
gramatiko
MySQL UNION-funkciigisto sintaksa formato:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
Parametro
- esprimo1, esprimo2, ... esprimo_n: Kolumno por retrovi.
- tabloj: La datumtabelo por preni.
- KIE kondiĉoj: Laŭvola, serĉkriterioj.
- DISTINTA: Laŭvole, forigu duplikatajn datumojn de la rezulta aro.La UNION-funkciigisto deduplikis datumojn defaŭlte, do la DISTINCT-modifilo havas neniun efikon al la rezulto.
- ĈIUJ: Laŭvola, redonas ĉiujn rezultarojn, inkluzive de duplikatoj.
demo-datumbazo
En ĉi tiu lernilo, ni uzos la specimenan datumbazon chenweiliang.
Jen la datumoj de la tabelo "Retejoj":
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 | +----+---------------+---------------------------+-------+---------+
Jen la datumoj por la "apo" APP:
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-instanco
La jena SQL-deklaro elektas ĉiujn apartajn landojn (nur apartajn valorojn) el la tabeloj "Retejoj" kaj "aplikaĵoj" :
ekzemplo
SELECT country FROM Websites UNION SELECT country FROM apps ORDER BY country;
SQL UNION ĈIUJ kazo
La jena SQL-frazo uzas UNION ALL por elekti ĉiujn landojn (inkluzive de duobligitaj valoroj) el la tabeloj "Websites" kaj "apps" :
ekzemplo
SELECT country FROM Websites UNION ALL SELECT country FROM apps ORDER BY country;
SQL UNIO ĈIUJ kun KIE
La jena SQL-deklaro uzas UNION ALL por elekti ĉiujn datumojn por Ĉinio (CN) el la tabeloj "Retejoj" kaj "aplikaĵoj" (inkluzive de duobligitaj valoroj):
ekzemplo
SELECT country, name FROM Websites WHERE country='CN' UNION ALL SELECT country, app_name FROM apps WHERE country='CN' ORDER BY country;
Espereble, la artikolo "Unia Ordo Laŭ Demanda Sintakso/Deklaro Uzado en MySQL Datumbazo" dividita en la blogo de Chen Weiliang ( https://www.chenweiliang.com/ ) estos helpema al vi.
Bonvolu kunhavigi la ligilon al ĉi tiu artikolo: https://www.chenweiliang.com/cwl-475.html
