English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Dieser教程介绍 MySQL UNION-Operator Syntax und Beispiele.
Der MySQL UNION-Operator wird verwendet, um die Ergebnisse mehrerer SELECT-Anweisungen zu kombinieren und in eine Ergebnismenge zu überführen. Mehrere SELECT-Anweisungen entfernen wiederholte Daten.
Syntax der MySQL UNION-Operator:
SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] UNION [ALL | DISTINCT] SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions];
expression1, expression2, ... expression_n: Spalten, die abgerufen werden sollen.
tables: Datenbanktabelle, die abgerufen werden soll.
WHERE conditions: Optional, Suchbedingungen.
DISTINCT: Optional, löschen Sie duplizierte Daten aus dem Ergebnissatz. Standardmäßig entfernt der UNION-Operator bereits duplizierte Daten, daher hat der DISTINCT-Präfix keine Auswirkung auf das Ergebnis.
ALL: Optional, geben Sie alle Ergebnissätze zurück, einschließlich duplizierter Daten.
In diesem Tutorial werden wir w3codebox Beispiel-Datenbank.
Nachfolgend sind die Daten aus der Tabelle "Websites" aufgeführt:
mysql> SELECT * FROM Websites; +----+--------------+---------------------------+-------+---------+ | id | name | url | country | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 基础教程网 | http://de.oldtoolbag.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | +----+---------------+---------------------------+-------+---------+
Nachfolgend sind die Daten der APP "apps" aufgeführt:
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)
Das folgende SQL-Auftragsbeispiel wählt alle Zeilen aus den Tabellen "Websites" und "apps"Verschiedenecountry (nur verschiedene Werte):
SELECT country FROM Websites UNION SELECT country FROM apps ORDER BY country;
Das Ausführen des folgenden SQL ergibt das folgende Ergebnis:
Anmerkung:UNION kann nicht verwendet werden, um alle country aus zwei Tabellen aufzulisten. Wenn einige Websites und APPs aus demselben Land stammen, wird jede Nation nur einmal aufgeführt. UNION wählt nur verschiedene Werte. Verwenden Sie UNION ALL, um doppelte Werte zu wählen!
Die folgenden SQL-Anweisungen verwenden UNION ALL, um aus den Tabellen "Websites" und "apps" zu wählenAllecountry (es gibt auch doppelte Werte):
SELECT country FROM Websites UNION ALL SELECT country FROM apps ORDER BY country;
Das Ausführen des folgenden SQL ergibt das folgende Ergebnis:
Die folgenden SQL-Anweisungen verwenden UNION ALL, um aus den Tabellen "Websites" und "apps" zu wählenAlleDaten von China (CN) (es gibt auch doppelte Werte):
SELECT country, name FROM Websites WHERE country='CN' UNION ALL SELECT country, app_name FROM apps WHERE country='CN' ORDER BY country;
Das Ausführen des folgenden SQL ergibt das folgende Ergebnis: