Oracle 6, there is NULL into table b:
SQL> select * from a where x in (select * from b);
X
----------
2
SQL> select * from a where x not in (select * from b);
no rows selected
SQL> select * from a where not x in (select * from b);
no rows selected
Is 'not X in' the same as 'X not in' ? Currently we have:
vac=> select * from a where not x in (select * from b);
x
-
1
(1 row)
: subselect clause is "atomic" and NOT-s are never pushed into it.
Once again - what standard says ?
Vadim