Asked about The queries you will actually be asked to write

Why can NOT IN return nothing?

An answer that works

If the subquery contains a NULL, the comparison with that NULL is unknown for every row, so no row satisfies NOT IN. NOT EXISTS does not have this problem.

Reading an answer is not being able to give one. The section that teaches this is The queries you will actually be asked to write, 5 hours of SQL & data access.

Learn this properly