0Pricing
SQL Academy · Lektion

UNION, INTERSECT, EXCEPT

Kombinieren Sie kompatible Ergebnismengen mit UNION, finden Sie gemeinsame Zeilen mit INTERSECT und ermitteln Sie die Differenz mit EXCEPT.

UNION, INTERSECT, EXCEPT ist eine kostenlose SQL Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des SQL Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Überblick über Mengenoperationen

Drei Mengenoperatoren kombinieren Ergebnismengen zeilenweise:

  • UNION — Zeilen aus A ODER B (ohne Duplikate)
  • INTERSECT — Zeilen aus A UND B
  • EXCEPT — Zeilen aus A, aber NICHT aus B

UNION

Kombiniert zwei Ergebnismengen und entfernt Duplikate:

SELECT email FROM users
UNION
SELECT email FROM newsletter_subscribers;

Kompatibilität der Spalten

Beide Abfragen müssen dieselbe Anzahl von Spalten und kompatible Datentypen haben:

-- OK:
SELECT email FROM users UNION SELECT email FROM customers;

-- ERROR — different column count:
SELECT email FROM users UNION SELECT email, name FROM customers;

INTERSECT

Zeilen, die in beiden Abfragen vorkommen:

SELECT product_id FROM orders WHERE user_id = 1
INTERSECT
SELECT product_id FROM orders WHERE user_id = 2;
-- Products bought by BOTH users.

EXCEPT

Zeilen aus der ersten Abfrage, die nicht in der zweiten vorkommen:

SELECT product_id FROM products
EXCEPT
SELECT product_id FROM order_items;
-- Products never ordered.

ORDER BY mit Mengenoperatoren

ORDER BY gilt für das gesamte kombinierte Ergebnis. Setzen Sie es ans Ende:

SELECT email FROM users
UNION
SELECT email FROM customers
ORDER BY email;

Mengenoperatoren und NULL-Werte

Bei Mengenoperationen werden zwei NULL-Werte als gleich behandelt — UNION entfernt sie als Duplikate, INTERSECT wertet sie als Übereinstimmung. (Anders als NULL = NULL in WHERE.)

Mengenoperatoren auf Unterabfragen

Setzen Sie Unterabfragen zur besseren Übersicht und zur Kombination mit LIMIT in Klammern:

(SELECT id FROM users ORDER BY created_at DESC LIMIT 10)
UNION
(SELECT id FROM users ORDER BY total DESC LIMIT 10);

Rangfolge der Operatoren

INTERSECT bindet stärker als UNION/EXCEPT. Verwenden Sie Klammern:

SELECT id FROM a
UNION
SELECT id FROM b
INTERSECT
SELECT id FROM c;
-- means: a UNION (b INTERSECT c)

-- Use parens to force order:
(SELECT id FROM a UNION SELECT id FROM b) INTERSECT SELECT id FROM c;

Leistung

UNION sortiert, um Duplikate zu entfernen. INTERSECT und EXCEPT führen ähnliche Arbeit aus. Bevorzugen Sie bei großen Mengen JOIN/EXISTS-Muster und verwenden Sie Mengenoperationen nur, wenn ihre Semantik eindeutig passt.

Standard-SQL vs. Besonderheiten der Anbieter

Alle drei Operatoren gibt es in PostgreSQL. MySQL hat INTERSECT und EXCEPT erst in 8.0.31 hinzugefügt; ältere Versionen bilden sie mit JOIN/NOT IN nach.

Zusammenfassung

Mengenoperatoren drücken ODER/UND/MINUS über Zeilen aus.

  • UNION — kombinieren und Duplikate entfernen
  • INTERSECT — gemeinsame Zeilen
  • EXCEPT — A ohne B

Kurze Überprüfung

Welcher Mengenoperator gibt „Zeilen aus A, die NICHT in B vorkommen“ zurück?

Häufig gestellte Fragen

Ist die Lektion „UNION, INTERSECT, EXCEPT“ kostenlos?

Ja — der vollständige Text von „UNION, INTERSECT, EXCEPT“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des SQL Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der SQL Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „UNION, INTERSECT, EXCEPT“?

Kombinieren Sie kompatible Ergebnismengen mit UNION, finden Sie gemeinsame Zeilen mit INTERSECT und ermitteln Sie die Differenz mit EXCEPT. Du übst SQL Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um SQL Academy zu starten?

Keine Vorkenntnisse erforderlich. SQL Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „UNION, INTERSECT, EXCEPT“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser SQL Academy-Lektion Code schreiben und ausführen?

Ja. Jede SQL Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. UNION, INTERSECT, EXCEPT
  2. UNION ALL vs. UNION (Kosten der Duplikatentfernung)
  3. CASE-Ausdrücke und Pivot-Abfragen
  4. Crosstab-Muster (PostgreSQL crosstab())
← Zurück zu SQL Academy