INTERSECT i EXCEPT

Połącz wyniki dwóch zapytań: zostaw wiersze znalezione w obu (INTERSECT) albo tylko w pierwszym (EXCEPT).

Składnia

query1 INTERSECT query2;
query1 EXCEPT query2;
  • Oba zapytania potrzebują tej samej liczby kolumn, o zgodnych typach.
  • Oba usuwają duplikaty. Dodaj ALL, aby je zachować. Oracle nazywa EXCEPT MINUS.

Przykład

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

Każde miasto klientów oprócz Paryża.

Użyte tabele: customers. Wypróbuj to w lekcji poniżej.

Typowe błędy

  • EXCEPT nie jest symetryczne: A EXCEPT B różni się od B EXCEPT A.
  • Tutaj wartości NULL są traktowane jako równe, inaczej niż w zwykłym porównaniu.

Ćwicz to