Union-Klausel
Wir haben die Aufmerksamkeit eines Kunden auf uns gezogen, der SQL-Abfragen benötigt. Bevor wir uns mit JOINs beschäftigen, lernen wir die UNION-Klausel kennen, die unerlässlich ist, um mehrere Tabellen zu kombinieren.
UNION in SQL wird verwendet, um die Ergebnisse von zwei oder mehr SELECT-Abfragen zu einem einzigen Ergebnismenge zusammenzuführen. Damit können Sie Zeilen aus mehreren Abfragen in einem einzigen Datensatz zusammenfassen.
Hier sind einige wichtige Hinweise zur Verwendung von UNION:
-
Anzahl und Reihenfolge der Spalten: Alle mit
UNIONkombinierten Abfragen müssen die gleiche Anzahl an Spalten in derselben Reihenfolge haben; -
Datentypen: Die Spalten in jeder Abfrage müssen kompatible Datentypen aufweisen;
-
Eindeutige Zeilen: Standardmäßig entfernt
UNIONdoppelte Zeilen. Verwenden SieUNION ALL, wenn Sie Duplikate beibehalten möchten.
Zur besseren Verständlichkeit, wie Tabellen korrekt mit der UNION-Klausel kombiniert werden, wurde eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.
Hier sind nur wenige Informationen vorhanden: first_name, last_name und email.
Es ist ersichtlich, dass diese Tabelle Ähnlichkeiten mit der Tabelle employees aufweist. Mit der UNION-Klausel können wir diese beiden Tabellen zusammenführen, um beispielsweise eine Liste aller Vor- und Nachnamen von Mitarbeitern und Auftragnehmern im Unternehmen anzuzeigen.
Dazu verwenden wir die UNION-Klausel:
12345678(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
Lassen Sie uns analysieren, was hier passiert:
Wir haben zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Wir möchten die Id, den first_name und den last_name aller Personen im Unternehmen sehen. Außerdem haben wir die Spalte Id umbenannt, sodass beide Abfragen dieselben Spaltennamen besitzen.
Anschließend verwenden wir UNION, um die Ergebnisse dieser Abfragen zu kombinieren und Duplikate zu entfernen (obwohl es hier keine gibt).
Abschließend sortieren wir die Ergebnisse nach Id mit ORDER BY.
Wir sortieren nach Id, einer gemeinsamen Spalte in beiden Tabellen.
Nach der Verwendung von UNION erhalten wir eine "einzelne große Abfrage", die wir mit Klauseln wie ORDER BY weiterverarbeiten können.
WHERE oder GROUP BY können nicht direkt mit Tabellen verwendet werden, die durch UNION kombiniert wurden. Um diese Klauseln anzuwenden, ist eine Unterabfrage im FROM-Abschnitt erforderlich. Hier ein Beispiel, wie dies umgesetzt wird:
123456789SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
Die Verwendung einer Unterabfrage im FROM-Abschnitt bietet mehr Flexibilität. Dies kann anfangs herausfordernd wirken, aber das Beherrschen dieser Technik erleichtert das Schreiben komplexer Abfragen erheblich.
1. Welche Spalten sind bei der Verwendung der UNION-Klausel in SQL erforderlich?
2. Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Großartig!
Completion Rate verbessert auf 4
Union-Klausel
Swipe um das Menü anzuzeigen
Wir haben die Aufmerksamkeit eines Kunden auf uns gezogen, der SQL-Abfragen benötigt. Bevor wir uns mit JOINs beschäftigen, lernen wir die UNION-Klausel kennen, die unerlässlich ist, um mehrere Tabellen zu kombinieren.
UNION in SQL wird verwendet, um die Ergebnisse von zwei oder mehr SELECT-Abfragen zu einem einzigen Ergebnismenge zusammenzuführen. Damit können Sie Zeilen aus mehreren Abfragen in einem einzigen Datensatz zusammenfassen.
Hier sind einige wichtige Hinweise zur Verwendung von UNION:
-
Anzahl und Reihenfolge der Spalten: Alle mit
UNIONkombinierten Abfragen müssen die gleiche Anzahl an Spalten in derselben Reihenfolge haben; -
Datentypen: Die Spalten in jeder Abfrage müssen kompatible Datentypen aufweisen;
-
Eindeutige Zeilen: Standardmäßig entfernt
UNIONdoppelte Zeilen. Verwenden SieUNION ALL, wenn Sie Duplikate beibehalten möchten.
Zur besseren Verständlichkeit, wie Tabellen korrekt mit der UNION-Klausel kombiniert werden, wurde eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.
Hier sind nur wenige Informationen vorhanden: first_name, last_name und email.
Es ist ersichtlich, dass diese Tabelle Ähnlichkeiten mit der Tabelle employees aufweist. Mit der UNION-Klausel können wir diese beiden Tabellen zusammenführen, um beispielsweise eine Liste aller Vor- und Nachnamen von Mitarbeitern und Auftragnehmern im Unternehmen anzuzeigen.
Dazu verwenden wir die UNION-Klausel:
12345678(SELECT employee_id as id, first_name, last_name FROM employees) UNION (SELECT contractor_id as id, first_name, last_name FROM contractors) ORDER BY id
Lassen Sie uns analysieren, was hier passiert:
Wir haben zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Wir möchten die Id, den first_name und den last_name aller Personen im Unternehmen sehen. Außerdem haben wir die Spalte Id umbenannt, sodass beide Abfragen dieselben Spaltennamen besitzen.
Anschließend verwenden wir UNION, um die Ergebnisse dieser Abfragen zu kombinieren und Duplikate zu entfernen (obwohl es hier keine gibt).
Abschließend sortieren wir die Ergebnisse nach Id mit ORDER BY.
Wir sortieren nach Id, einer gemeinsamen Spalte in beiden Tabellen.
Nach der Verwendung von UNION erhalten wir eine "einzelne große Abfrage", die wir mit Klauseln wie ORDER BY weiterverarbeiten können.
WHERE oder GROUP BY können nicht direkt mit Tabellen verwendet werden, die durch UNION kombiniert wurden. Um diese Klauseln anzuwenden, ist eine Unterabfrage im FROM-Abschnitt erforderlich. Hier ein Beispiel, wie dies umgesetzt wird:
123456789SELECT id, first_name, last_name FROM ( SELECT employee_id AS id, first_name, last_name FROM employees UNION SELECT contractor_id AS id, first_name, last_name FROM contractors ) AS combined WHERE first_name = 'Jane'
Die Verwendung einer Unterabfrage im FROM-Abschnitt bietet mehr Flexibilität. Dies kann anfangs herausfordernd wirken, aber das Beherrschen dieser Technik erleichtert das Schreiben komplexer Abfragen erheblich.
1. Welche Spalten sind bei der Verwendung der UNION-Klausel in SQL erforderlich?
2. Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?
Danke für Ihr Feedback!