Zusammenfassung :In diesem Tutorial lernen Sie, wie Sie SQLite UNION
verwenden -Operator, um Ergebnismengen von zwei oder mehr Abfragen zu einer einzigen Ergebnismenge zu kombinieren.
Einführung in SQLite UNION
Betreiber
Manchmal müssen Sie Daten aus mehreren Tabellen zu einem vollständigen Ergebnissatz kombinieren. Es kann sich um Tabellen mit ähnlichen Daten in derselben Datenbank handeln, oder Sie müssen ähnliche Daten aus mehreren Datenbanken kombinieren.
Um Zeilen aus zwei oder mehr Abfragen zu einer einzigen Ergebnismenge zu kombinieren, verwenden Sie SQLite UNION
Operator. Im Folgenden wird die grundlegende Syntax von UNION
veranschaulicht Betreiber:
query_1
UNION [ALL]
query_2
UNION [ALL]
query_3
...;
Code language: SQL (Structured Query Language) (sql)
Sowohl UNION
und UNION ALL
Operatoren kombinieren Zeilen aus Ergebnismengen zu einer einzigen Ergebnismenge. Die UNION
Operator removes beseitigt doppelte Zeilen, wohingegen der Operator UNION ALL
Operator nicht.
Weil die UNION ALL
Operator entfernt keine doppelten Zeilen, er läuft schneller als UNION
Betreiber.
Die folgenden Regeln gelten für die Vereinigung von Daten:
- Die Anzahl der Spalten in allen Abfragen muss gleich sein.
- Die entsprechenden Spalten müssen kompatible Datentypen haben.
- Die Spaltennamen der ersten Abfrage bestimmen die Spaltennamen der kombinierten Ergebnismenge.
- Der
GROUP BY
undHAVING
Klauseln werden auf jede einzelne Abfrage angewendet, nicht auf die endgültige Ergebnismenge. - Der
ORDER BY
-Klausel wird auf die kombinierte Ergebnismenge angewendet, nicht innerhalb der einzelnen Ergebnismenge.
Beachten Sie, dass der Unterschied zwischen UNION
und JOIN
B. INNER JOIN
oder LEFT JOIN
ist das der JOIN
-Klausel kombiniert Spalten aus mehreren verwandten Tabellen, während UNION
kombiniert Zeilen aus mehreren ähnlichen Tabellen.
Angenommen, wir haben zwei Tabellen t1 und t2 mit den folgenden Strukturen:
CREATE TABLE t1(
v1 INT
);
INSERT INTO t1(v1)
VALUES(1),(2),(3);
CREATE TABLE t2(
v2 INT
);
INSERT INTO t2(v2)
VALUES(2),(3),(4);
Code language: SQL (Structured Query Language) (sql)
Die folgende Anweisung kombiniert die Ergebnismengen der Tabellen t1 und t2 mithilfe von UNION
Betreiber:
SELECT v1
FROM t1
UNION
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
Das folgende Bild veranschaulicht die UNION
Betrieb der Tabellen t1 und t2:
Die folgende Anweisung kombiniert die Ergebnismengen der Tabellen t1 und t2 mithilfe von UNION ALL
Betreiber:
SELECT v1
FROM t1
UNION ALL
SELECT v2
FROM t2;
Code language: SQL (Structured Query Language) (sql)
Das folgende Bild zeigt die Ausgabe:
Das folgende Bild zeigt UNION ALL
Betrieb der Ergebnismengen der Tabellen t1 und t2:
SQLite UNION
Beispiele
Nehmen wir einige Beispiele für die Verwendung von UNION
Betreiber.
1) SQLite UNION
Beispiel
Diese Anweisung verwendet die UNION
Operator, um Namen von Mitarbeitern und Kunden in einer einzigen Liste zu kombinieren:
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers;
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
2) SQLite UNION
mit ORDER BY
Beispiel
Dieses Beispiel verwendet UNION
Operator, um die Namen der Mitarbeiter und Kunden in einer einzigen Liste zu kombinieren. Außerdem verwendet es den ORDER BY
-Klausel, um die Namensliste nach Vornamen und Nachnamen zu sortieren.
SELECT FirstName, LastName, 'Employee' AS Type
FROM employees
UNION
SELECT FirstName, LastName, 'Customer'
FROM customers
ORDER BY FirstName, LastName;
Code language: SQL (Structured Query Language) (sql)
Hier ist die Ausgabe:
In diesem Tutorial haben Sie gelernt, wie Sie SQLite UNION
verwenden -Operator, um Zeilen aus Ergebnismengen zu einer einzigen Ergebnismenge zu kombinieren. Sie haben auch die Unterschiede zwischen UNION
kennengelernt und UNION ALL
Betreiber.