Briefly
Cola in (x, Y, z) is equivalent to cola=x or cola=y or cola=z
Cola not in (x, Y, z) is equivalent to! (Cola=x or Cola=y or cola=z) is equivalent to Cola!=x and Cola!=y and Cola!=z
Besides Cola=null and Cola!=null, the results of both expressions are false.
And you can see it.
Cola in (x, y,..., z,null) is equivalent to Cola in (x, y,..., z) meaning more than you one not much anyway is compareresult or false = Compareresult,
Cola not in (x, y,... z,null) is equivalent to False because Compareresult and false = False, which means that no records are found in the where statement.
Reference Address http://x-spirit.iteye.com/blog/615603
In the future we will remember that if you use the SELECT * from TableA where cola not in (select Colb from TableB) This seed query, it must be
Be aware that if there are null values in the subquery, the results will not be queried.
Oracle In/not in (x,..., null)