Sjednocení pořadí podle použití syntaxe/příkazu dotazu v databázi MySQL

Použití syntaxe/příkazu dotazu UNION ORDER BY v databázi MySQL

MySQL operátor UNION

Tento tutoriál vás seznámí se syntaxí a příklady operátoru MySQL UNION.

Popis

Operátor MySQL UNION se používá ke spojení výsledků dvou nebo více příkazů SELECT do jediné sady výsledků.Více příkazů SELECT odstraňuje duplicitní data.

gramatika

Formát syntaxe operátora MySQL UNION:

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

参数

  • výraz1, výraz2, ... výraz_n: Sloupec k načtení.
  • stoly: Tabulka dat k načtení.
  • KDE podmínky: Volitelné, kritéria vyhledávání.
  • ODLIŠNÝ: Případně odstraňte duplicitní data ze sady výsledků.Operátor UNION ve výchozím nastavení deduplikoval data, takže modifikátor DISTINCT nemá na výsledek žádný vliv.
  • VŠECHNO: Volitelné, vrátí všechny sady výsledků, včetně duplikátů.

demo databáze

V tomto tutoriálu použijeme vzorovou databázi chenweiliang.

Zde jsou údaje z tabulky „Webové stránky“:

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

Zde jsou data pro „aplikaci“ 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)

 


instance SQL UNION

Následující příkaz SQL vybere všechny odlišné země (pouze odlišné hodnoty) z tabulek „Websites“ a „apps“ :

Instance

SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
 
注释:UNION nelze použít k zobrazení všech zemí v obou tabulkách.Pokud jsou některé weby a aplikace ze stejné země, bude každá země uvedena pouze jednou. UNION pouze vybírá odlišné hodnoty.Pro výběr duplicitních hodnot použijte UNION ALL!

SQL UNION ALL instance

Následující příkaz SQL používá UNION ALL k výběru všech zemí (včetně duplicitních hodnot) z tabulek „Websites“ a „apps“ :

Instance

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

 


SQL UNION VŠE s WHERE

Následující příkaz SQL používá UNION ALL k výběru všech dat pro Čínu (CN) z tabulek „Websites“ a „apps“ (včetně duplicitních hodnot):

Instance

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

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Přejděte na začátek