如果数据库某条记录中a字段存在NULL值,使用 where a not in ('why' , 'ym'); 无法查询出该条记录,因为NULL值比较特殊。
也就是说,如果一张表中的总记录数为3条,使用where a not in ('why' , 'ym') 和 where a in ('why' , 'ym') 查询的记录数相加之和并不一定等于3。
如果我们not in后面的值是使用子查询从其他表查出来的,但是查询的值存在NULL,即 where a not in (NULL , 'why' , 'ym');
那么该条查询语句查询不出来任何记录,因为not in 后面存在NULL导致。。
NULL值与SQL查询陷阱
本文探讨了在数据库查询中NULL值的特殊性及其对查询结果的影响,特别是使用NOT IN和IN操作符时的情况。当子查询结果包含NULL时,查询可能无法返回预期结果。
9003

被折叠的 条评论
为什么被折叠?



