INTERSECT e EXCEPT
Combina i risultati di due query: mantieni le righe trovate in entrambe (INTERSECT) o solo nella prima (EXCEPT).
Sintassi
query1 INTERSECT query2;query1 EXCEPT query2;
- Entrambe le query devono avere lo stesso numero di colonne, con tipi compatibili.
- Entrambi rimuovono i duplicati. Aggiungi ALL per mantenerli. Oracle chiama EXCEPT MINUS.
Esempio
SELECT city FROM customers EXCEPT SELECT 'Paris' ORDER BY city;
Ogni città dei clienti tranne Paris.
Tabelle usate: customers. Provalo in una lezione qui sotto.
Errori comuni
- EXCEPT non è simmetrico: A EXCEPT B è diverso da B EXCEPT A.
- Qui i NULL sono considerati uguali, a differenza di un normale confronto.