Operação EXCEPT

A operação EXCEPT/MINUS localiza a diferença entre as duas consultas e o resultado contém as linhas que pertencem apenas à primeira consulta.

EXCEPT e MINUS são sinônimos. É possível usar qualquer palavra em instruções SQL.

Para contrastar INTERSECT e EXCEPT:
  • Uma INTERSECT B contém linhas da tabela A que são duplicadas na tabela B.
  • Uma EXCEPT B contém linhas da tabela A que não existem na tabela B.

EXCETUAR

Em uma operação EXCEPT [DISTINCT] ou MINUS [DISTINCT], se uma tupla t aparecer m (> 0) vezes na primeira tabela de entrada e a mesma tupla t aparecer n (>= 0) vezes na segunda tabela de entrada, essa tupla t aparecerá somente uma vez na tabela de saída se (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

Em uma operação EXCEPT ALL ou MINUS ALL, se uma tupla t aparecer m (> 0) vezes na primeira tabela de entrada e n (>= 0) vezes na segunda tabela de entrada, ela aparecerá (m - n) vezes na tabela de saída se (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}