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. Anzahl und Reihenfolge der Spalten: 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 besitzen;

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

Um besser zu verstehen, wie Tabellen korrekt mit der UNION-Klausel kombiniert werden, habe ich eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.

Hier gibt es nicht viele Informationen, nur first_name, last_name und email.

Sie sehen, 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

Analysieren wir, was hier passiert:

Wir haben zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Wir möchten die Id, first_name und last_name aller Personen im Unternehmen sehen. Außerdem haben wir die Spalte Id umbenannt, sodass beide Abfragen identische Spaltennamen besitzen.

Anschließend verwenden wir UNION, um die Ergebnisse dieser Abfragen zusammenzuführen und Duplikate zu entfernen (obwohl es hier keine gibt).

Abschließend sortieren wir die Ergebnisse mit Id nach ORDER BY.

Hinweis

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.

Wir können WHERE oder GROUP BY nicht direkt mit Tabellen verwenden, die mit UNION kombiniert wurden. Um diese Klauseln anzuwenden, müssen wir eine Unterabfrage im FROM-Abschnitt verwenden. Hier ist ein Beispiel, wie das funktioniert:

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! Es mag anfangs schwierig erscheinen, aber das Beherrschen dieser Technik erleichtert das Schreiben komplexer 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. Anzahl und Reihenfolge der Spalten: 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 besitzen;

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

Um besser zu verstehen, wie Tabellen korrekt mit der UNION-Klausel kombiniert werden, habe ich eine zusätzliche Tabelle eingeführt, die Informationen über contractors enthält.

Hier gibt es nicht viele Informationen, nur first_name, last_name und email.

Sie sehen, 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

Analysieren wir, was hier passiert:

Wir haben zwei Abfragen, die jeweils drei Spalten mit denselben Datentypen zurückgeben. Wir möchten die Id, first_name und last_name aller Personen im Unternehmen sehen. Außerdem haben wir die Spalte Id umbenannt, sodass beide Abfragen identische Spaltennamen besitzen.

Anschließend verwenden wir UNION, um die Ergebnisse dieser Abfragen zusammenzuführen und Duplikate zu entfernen (obwohl es hier keine gibt).

Abschließend sortieren wir die Ergebnisse mit Id nach ORDER BY.

Hinweis

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.

Wir können WHERE oder GROUP BY nicht direkt mit Tabellen verwenden, die mit UNION kombiniert wurden. Um diese Klauseln anzuwenden, müssen wir eine Unterabfrage im FROM-Abschnitt verwenden. Hier ist ein Beispiel, wie das funktioniert:

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! Es mag anfangs schwierig erscheinen, aber das Beherrschen dieser Technik erleichtert das Schreiben komplexer 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