Die EXCEPT/MINUS-Operation sucht den Unterschied zwischen den beiden Abfragen und das Ergebnis umfasst die Zeilen, die nur zur ersten Abfrage gehören.
EXCEPT und MINUS sind Synonyme. Sie können beide Wörter in SQL-Anweisungen verwenden.
Unterschied zwischen INTERSECT und EXCEPT:
- INTERSECT B enthält Zeilen aus Tabelle A, die in Tabelle B dupliziert sind.
- EXCEPT B enthält Zeilen aus Tabelle A, die in Tabelle B nicht enthalten sind.
EXCEPT
Wenn in einer Operation mit EXCEPT [DISTINCT] oder MINUS [DISTINCT] ein Tupel t m-Mal (> 0) in der ersten Eingabetabelle und n-Mal (>= 0) in der zweiten Eingabetabelle auftritt, dann erscheint Tupel t nur einmal in der Ausgabetabelle, wenn (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
Wenn in einer Operation mit EXCEPT ALL oder MINUS ALL ein Tupel t m-Mal (> 0) in der ersten Eingabetabelle und n-Mal (>= 0) in der zweiten Eingabetabelle auftritt, dann erscheint Tupel t (m - n)-Mal in der Ausgabetabelle, wenn (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}