Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Union-Klausel | Verschachtelte Unterabfragen
Fortgeschrittene SQL

bookUnion-Klausel

Wir haben das Interesse eines Kunden geweckt, 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.

Hier sind einige wichtige Punkte zur Verwendung von UNION:

  1. Spaltenanzahl und Reihenfolge: Alle mit UNION kombinierten Abfragen müssen die gleiche Anzahl an Spalten in derselben Reihenfolge haben;

  2. Datentypen: Die Spalten in jeder Abfrage müssen kompatible Datentypen aufweisen;

  3. Eindeutige Zeilen: Standardmäßig entfernt UNION doppelte Zeilen. Verwenden Sie UNION ALL, wenn Sie Duplikate beibehalten möchten.

Um das korrekte Kombinieren von Tabellen mit der UNION-Klausel besser zu verstehen, habe ich eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.

Es 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
copy

Im Folgenden wird erläutert, was hier geschieht:

Es gibt zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Angezeigt werden sollen die Id, first_name und last_name aller Personen im Unternehmen. Die Spalte Id wurde umbenannt, sodass beide Abfragen identische Spaltennamen besitzen.

Anschließend wird mit UNION das Ergebnis dieser Abfragen zusammengeführt, wobei Duplikate entfernt werden (hier sind jedoch keine vorhanden).

Abschließend erfolgt eine Sortierung der Ergebnisse nach Id mittels ORDER BY.

Hinweis

Die Sortierung erfolgt nach Id, einer gemeinsamen Spalte beider Tabellen.

Nach Verwendung von UNION entsteht eine "einzelne große Abfrage", die mit weiteren Klauseln wie ORDER BY weiterverarbeitet werden kann.

WHERE oder GROUP BY können nicht direkt mit Tabellen verwendet werden, die durch UNION kombiniert wurden. Um diese Klauseln anzuwenden, muss eine Unterabfrage im FROM-Abschnitt verwendet werden. Nachfolgend ein Beispiel, wie dies umgesetzt wird:

123456789
SELECT 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'
copy

Die Verwendung einer Unterabfrage im FROM-Abschnitt bietet mehr Flexibilität. Dies kann anfangs komplex erscheinen, aber das Beherrschen dieser Technik erleichtert das Schreiben anspruchsvoller Abfragen erheblich.

1. Welche Spalten sind erforderlich, wenn die UNION-Klausel in SQL verwendet wird?

2. Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?

question mark

Welche Spalten sind erforderlich, wenn die UNION-Klausel in SQL verwendet wird?

Select the correct answer

question mark

Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 4

bookUnion-Klausel

Swipe um das Menü anzuzeigen

Wir haben das Interesse eines Kunden geweckt, 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.

Hier sind einige wichtige Punkte zur Verwendung von UNION:

  1. Spaltenanzahl und Reihenfolge: Alle mit UNION kombinierten Abfragen müssen die gleiche Anzahl an Spalten in derselben Reihenfolge haben;

  2. Datentypen: Die Spalten in jeder Abfrage müssen kompatible Datentypen aufweisen;

  3. Eindeutige Zeilen: Standardmäßig entfernt UNION doppelte Zeilen. Verwenden Sie UNION ALL, wenn Sie Duplikate beibehalten möchten.

Um das korrekte Kombinieren von Tabellen mit der UNION-Klausel besser zu verstehen, habe ich eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.

Es 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
copy

Im Folgenden wird erläutert, was hier geschieht:

Es gibt zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Angezeigt werden sollen die Id, first_name und last_name aller Personen im Unternehmen. Die Spalte Id wurde umbenannt, sodass beide Abfragen identische Spaltennamen besitzen.

Anschließend wird mit UNION das Ergebnis dieser Abfragen zusammengeführt, wobei Duplikate entfernt werden (hier sind jedoch keine vorhanden).

Abschließend erfolgt eine Sortierung der Ergebnisse nach Id mittels ORDER BY.

Hinweis

Die Sortierung erfolgt nach Id, einer gemeinsamen Spalte beider Tabellen.

Nach Verwendung von UNION entsteht eine "einzelne große Abfrage", die mit weiteren Klauseln wie ORDER BY weiterverarbeitet werden kann.

WHERE oder GROUP BY können nicht direkt mit Tabellen verwendet werden, die durch UNION kombiniert wurden. Um diese Klauseln anzuwenden, muss eine Unterabfrage im FROM-Abschnitt verwendet werden. Nachfolgend ein Beispiel, wie dies umgesetzt wird:

123456789
SELECT 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'
copy

Die Verwendung einer Unterabfrage im FROM-Abschnitt bietet mehr Flexibilität. Dies kann anfangs komplex erscheinen, aber das Beherrschen dieser Technik erleichtert das Schreiben anspruchsvoller Abfragen erheblich.

1. Welche Spalten sind erforderlich, wenn die UNION-Klausel in SQL verwendet wird?

2. Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?

question mark

Welche Spalten sind erforderlich, wenn die UNION-Klausel in SQL verwendet wird?

Select the correct answer

question mark

Wie behandelt die UNION-Klausel standardmäßig doppelte Zeilen?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
some-alt