Operación EXCEPT
La operación EXCEPT/MINUS encuentra la diferencia entre las dos consultas y el resultado comprime las filas que pertenecen únicamente a la primera consulta.
EXCEPT y MINUS son sinónimos. Puede utilizar cualquier palabra en sentencias SQL.
Para comparar INTERSECT y EXCEPT:
- Una INTERSECT B contiene filas de la tabla A que se duplican en la tabla B.
- Una EXCEPT B contiene filas de la tabla A que no existen en la tabla B.
EXCEPT
En una operación EXCEPT [DISTINCT],
o MINUS [DISTINCT], si una tupla t aparece m (> 0) veces en la primera tabla de entrada,
y la misma tupla t aparece n (>= 0) veces en la segunda tabla de entrada, entonces esa tupla
t aparece solo una vez en la tabla de salida 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
En una operación EXCEPT
ALL o MINUS ALL, si una tupla t aparece m (>= 0) veces en la primera tabla de entrada, y la misma tupla t aparece n (>= 0) veces en la segunda tabla de entrada, entonces esa tupla t aparece (m - n) veces en la tabla de salida 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}