English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

MySQL-UNION-Operator

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

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];

Parameter

  • 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.

Demonstrationsdatenbank

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)

SQL UNION Beispiel

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!

SQL UNION ALL Beispiel

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:

SQL UNION ALL mit WHERE

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):

Online-Beispiel

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: