在写SQL语句的时候,若where条件是判断用户不在某个集合当中,我们习惯使用 where 列名 not in (集合) 子句,这种写法本身没有问题,但实践过程中却发现很多人在写类似的SQL语句时,写的代码存在隐患,而这种隐患往往难以发现. 1. 存在隐患的写法 首先,我们来评估一条简单的SQL语句的输出结果.语句如下: , null) 简单,输出结果是1嘛. 错!答案是没有输出结果. 为什么会这样?数据库管理系统在执行查询之前,会对上面语句进行简单的转化,转化之后的语句如下: != null…