指定的值列表中有一个为空值,NOT IN返回false
??? 如果指定的值列表中有一个为空值(null),那么NOT IN返回false。怎么理解呢?看下面这张表:
??? 表users:
user_id name2 zhangsan3 wangwu
?? 原因是值为2,3的user_id在(2, 3, NULL)列表中是可以确定的,这与NULL值得不确定性没有关系,但值为1的user_id就不同了,数据库因为无法判断是否与NULL匹配,因此不会返回这条记录。
发布时间: 2012-07-24 17:47:58 作者: rapoo
指定的值列表中有一个为空值,NOT IN返回false
??? 如果指定的值列表中有一个为空值(null),那么NOT IN返回false。怎么理解呢?看下面这张表:
??? 表users:
user_id name2 zhangsan3 wangwu
?? 原因是值为2,3的user_id在(2, 3, NULL)列表中是可以确定的,这与NULL值得不确定性没有关系,但值为1的user_id就不同了,数据库因为无法判断是否与NULL匹配,因此不会返回这条记录。