sql中 null 的坑(not in 子查询内有 null ,则判断都为 false)

Posted MISAYAONE

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql中 null 的坑(not in 子查询内有 null ,则判断都为 false)相关的知识,希望对你有一定的参考价值。

https://cloud.tencent.com/developer/article/1343532

https://blog.csdn.net/sinat_35165183/article/details/60572452

 

分析1.sql错误原因:子查询中出现null值,还是使用了not in 情况。因not in 等于<>所有

a not in (10,20,null)   则即使 a 为20也匹配不上!!!

a !=10 and a!=20 and a!=null (其中a!=null一直会是false,这也是出错的原因)

而null值的使用,推荐下链接,

可以理解为unknown,因为null值与任何值操作都是null。

https://www.douban.com/note/520633402/

1:null与任何运算符运算后都为null

2:任何值与null比较时都会返回false

3:当统计的记录中的包含有null值时,它会忽略null值

4:永远不会有什么数据等于NULL

 

以上是关于sql中 null 的坑(not in 子查询内有 null ,则判断都为 false)的主要内容,如果未能解决你的问题,请参考以下文章

oracle子查询中not in后面不能为null值的理解

当有 NULL 值的结果时,NOT IN 子查询失败

在SQL Server中为什么不建议使用Not In子查询

如何在 SQL 子查询中使用 NOT IN? [复制]

更新表时如何改进 Spark 中的 SQL 查询? (子查询中的'NOT IN')

Sql server not in优化