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.