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

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. Anzahl und Reihenfolge der Spalten: Alle Abfragen, die mit UNION kombiniert werden, 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, wurde 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 erkennbar, dass diese Tabelle Ähnlichkeiten mit der Tabelle employees aufweist. Mit der UNION-Klausel lassen sich diese beiden Tabellen zusammenführen, um beispielsweise eine Liste aller Vor- und Nachnamen von Mitarbeitern und Auftragnehmern im Unternehmen anzuzeigen.

Dazu wird die UNION-Klausel verwendet:

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

Analyse der Vorgänge:

Es gibt zwei Abfragen, die jeweils drei Spalten mit identischen 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 beider Abfragen zusammengeführt, wobei Duplikate entfernt werden (in diesem Fall sind keine vorhanden).

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

Hinweis

Sortiert wird nach Id, einer gemeinsamen Spalte beider Tabellen.

Nach Anwendung von UNION entsteht eine "einzelne große Abfrage", die sich mit weiteren Klauseln wie ORDER BY weiterverarbeiten lässt.

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 genutzt werden. Hier 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

Suggested prompts:

Can you explain the difference between UNION and UNION ALL?

How do I know when to use a subquery with UNION?

Can you show more examples of using UNION with different tables?

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. Anzahl und Reihenfolge der Spalten: Alle Abfragen, die mit UNION kombiniert werden, 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, wurde 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 erkennbar, dass diese Tabelle Ähnlichkeiten mit der Tabelle employees aufweist. Mit der UNION-Klausel lassen sich diese beiden Tabellen zusammenführen, um beispielsweise eine Liste aller Vor- und Nachnamen von Mitarbeitern und Auftragnehmern im Unternehmen anzuzeigen.

Dazu wird die UNION-Klausel verwendet:

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

Analyse der Vorgänge:

Es gibt zwei Abfragen, die jeweils drei Spalten mit identischen 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 beider Abfragen zusammengeführt, wobei Duplikate entfernt werden (in diesem Fall sind keine vorhanden).

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

Hinweis

Sortiert wird nach Id, einer gemeinsamen Spalte beider Tabellen.

Nach Anwendung von UNION entsteht eine "einzelne große Abfrage", die sich mit weiteren Klauseln wie ORDER BY weiterverarbeiten lässt.

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 genutzt werden. Hier 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