L'opération EXCEPT/MINUS recherche la différence entre les deux requêtes, le résultat comprenant les lignes qui appartiennent uniquement à la première requête.
EXCEPT et MINUS sont synonymes. Vous pouvez utiliser l'un ou l'autre mot dans les instructions SQL.
Pour distinguer INTERSECT et EXCEPT :
- INTERSECT B contient les lignes de la table A dupliquées dans la table B.
- EXCEPT B contient les lignes de la table A qui n'existent pas dans la table B.
EXCEPT
Dans une opération EXCEPT [DISTINCT],
ou MINUS [DISTINCT], si un tuple t apparaît m (> 0) fois dans la première table d'entrée et n (>= 0) fois dans la seconde table d'entrée, il apparaît une seule fois dans la table de sortie si (m > 0 && n == 0).
{0,1,2,2,2,2,3,N,N} EXCEPT {1,2,2,3,5,5,N,N,N}
Ë{0}
EXCEPT ALL
Dans une opération EXCEPT
ALL ou MINUS ALL, si un tuple t apparaît m (> 0) fois dans la première table d'entrée et n (>= 0) fois dans la seconde table d'entrée, il apparaît (m - n) fois dans la table de sortie si (m - n) > 0.
{0,1,2,2,2,2,3,N,N} EXCEPT ALL{1,2,2,3,5,5,N,N,N}
Ë{0,2,2}