Effects of NULL for union - SQL
The treatment of NULL in invocations of EXCEPT is as for UNION. This is different from its treatment in those of NOT IN and quantified comparisons. In the case of t1 EXCEPT t2, row r of t1 appears in the result if and only if there does not exist a row s in t2 such that r IS NOT DISTINCT FROM s evaluates to TRUE. Note that x NOT IN (t) evaluates to UNKNOWN whenever x = x does, including in particular the case where x IS NULL evaluates to TRUE because every field of the row x is the null value. Recall that when the condition given in a WHERE clause evaluates to UNKNOWN for row r, then r does not appear in the result.