|
According to SQL-92 and the following post, comparisons with NULL(except for the predicate IS NULL) always give UNKNOWN. Since UNKNOWN effectively is NULL, or to be more correct it is definitely not TRUE or FALSE, it will most of the time behave like if it was FALSE. Exceptions to this obviously are the IS NULL predicate and also some functions like COUNT. Since the IN predicate can only occur as atom in conditional expressions, it is generally safe to assume that NULL has the same semantics as FALSE in that case. http://www.xaprb.com/blog/2006/05/18/why-null-never-compares-false-to-anything-in-sql/
|