INTERSECT und EXCEPT

Kombiniert zwei Abfrageergebnisse: behält die Zeilen, die in beiden vorkommen (INTERSECT), oder nur die aus der ersten (EXCEPT).

Syntax

query1 INTERSECT query2;
query1 EXCEPT query2;
  • Beide Abfragen brauchen gleich viele Spalten mit passenden Datentypen.
  • Beide entfernen Duplikate. Mit ALL bleiben sie erhalten. Oracle nennt EXCEPT MINUS.

Beispiel

SELECT city FROM customers EXCEPT SELECT 'Paris' ORDER BY city;

Jede Kundenstadt außer Paris.

Verwendete Tabellen: customers. Probiere es unten in einer Lektion aus.

Häufige Fehler

  • EXCEPT ist nicht symmetrisch: A EXCEPT B unterscheidet sich von B EXCEPT A.
  • NULL-Werte gelten hier als gleich, anders als bei einem normalen Vergleich.

Übe es