SQLite UNION-Klausel
SQLiteUNIONKlausel/Operator wird verwendet, um die Ergebnisse von zwei oder mehr SELECT-Anweisungen zu kombinieren, ohne doppelte Zeilen zurückzugeben.
Um UNION zu verwenden, muss die Anzahl der in jedem SELECT ausgewählten Spalten gleich sein, die gleiche Anzahl von Spaltenausdrücken, die gleichen Datentypen, und sie müssen in derselben Reihenfolge sein, aber sie müssen nicht dieselbe Länge haben.
Syntax
UNIONDie grundlegende Syntax lautet wie folgt:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Die hier angegebenen Bedingungen können je nach Bedarf beliebige Ausdrücke sein.
Beispiele
Angenommen, es gibt die folgenden zwei Tabellen: (1) Die COMPANY-Tabelle ist wie unten gezeigt:
sqlite> select * from COMPANY; ID NAME AGE ADDRESS SALARY ---------- -------------------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0
(2) Die andere Tabelle ist DEPARTMENT, wie unten dargestellt:
ID DEPT EMP_ID ---------- -------------------- ---------- 1 IT Billing 1 2 Engineering 2 3 Finance 7 4 Engineering 3 5 Finance 4 6 Engineering 5 7 Finance 6
Nun verwenden wir die SELECT-Anweisung und die UNION-Klausel, um die beiden Tabellen zu verbinden, wie unten gezeigt:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID
UNION
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;
Dies erzeugt das folgende Ergebnis:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James Finance
UNION-ALL-Klausel
Der UNION ALL-Operator wird verwendet, um die Ergebnisse zweier SELECT-Anweisungen zu kombinieren, einschließlich doppelter Zeilen.
Die Regeln, die für UNION gelten, gelten auch für den UNION ALL-Operator.
Syntax
UNION ALLDie grundlegende Syntax lautet wie folgt:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition] UNION ALL SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Die hier angegebenen Bedingungen können je nach Bedarf beliebige Ausdrücke sein.
Beispiele
Nun verwenden wir die SELECT-Anweisung und die UNION ALL-Klausel, um die beiden Tabellen zu verbinden, wie unten gezeigt:
sqlite> SELECT EMP_ID, NAME, DEPT FROM COMPANY INNER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID
UNION ALL
SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
ON COMPANY.ID = DEPARTMENT.EMP_ID;
Dies erzeugt das folgende Ergebnis:
EMP_ID NAME DEPT ---------- -------------------- ---------- 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James Finance 1 Paul IT Billing 2 Allen Engineerin 3 Teddy Engineerin 4 Mark Finance 5 David Engineerin 6 Kim Finance 7 James FinanceAndere Erweiterungen