Suppose there is a table like this:
f1 f2 ---------- 1 3 4 8 6 4 NULL 1
The following query works as expected:
SELECT f2 FROM Table_1 a WHERE NOT EXISTS (SELECT * FROM Table_1 WHERE a.f2 = f1)
... and a set of results:
f2 --- 3 8
... but a similar query with IN returns nothing:
SELECT f2 FROM Table_1 a WHERE f2 NOT IN (SELECT b.f1 FROM Table_1 b)
What is the problem?
source share