度量快速开发平台-专业、快速的软件定制快开平台

标题: not in子查询中不能包含空值 [打印本页]

作者: 张兴康    时间: 2020-6-6 14:30
标题: not in子查询中不能包含空值
今天客户发过来一个问题,在进行他表选择的时候,本来应该有的数据没有显示出来查看了他表选择的语句如下:
select * from 表名1 where  ID not  in (select  关联ID from  表名2)
从语法上看没有啥错误,但是为什么查询的结果集是空的,没有将原本应该有的数据显示出来呢?


经过排查发现:select  关联ID  from 表名2 这条语句的结果集含有null值
造成原因:录入的数据来源不止是通过他表选择,还可以手动填写;手动填写时关联ID字段的值为空。

网上搜索的关于not in 为null的原因:
只要not  in的子查询中包含有null值,那么最终的结果就为空。



作者: 陈晓龙    时间: 2020-6-6 14:53
涨知识了哦
作者: 万望    时间: 2020-6-6 17:46
这个还是第一回听说也
作者: 万望    时间: 2020-6-6 17:47

作者: 张兴康    时间: 2020-6-7 17:58
万望 发表于 2016-7-6 17:46
这个还是第一回听说也

你可以实践下,子查询中有了null,就是空的了
作者: 陈晓龙    时间: 2020-6-11 14:50

作者: 张兴康    时间: 2020-6-11 14:52
陈晓龙 发表于 2016-7-11 14:50

大风吹着凉快么?
作者: 陈晓龙    时间: 2020-6-12 14:44
张兴康 发表于 2016-7-11 14:52
大风吹着凉快么?

还行!
作者: 张兴康    时间: 2020-6-12 15:32
陈晓龙 发表于 2016-7-12 14:44
还行!


作者: 万望    时间: 2020-6-12 17:39

作者: 陈晓龙    时间: 2020-6-13 14:31

作者: 张兴康    时间: 2020-6-13 15:12
陈晓龙 发表于 2016-7-13 14:31

好闪的牙
作者: 陈晓龙    时间: 2020-6-14 17:56
张兴康 发表于 2016-7-13 15:12
好闪的牙

你的牙也很闪!
作者: 张兴康    时间: 2020-6-15 15:25
陈晓龙 发表于 2016-7-14 17:56
你的牙也很闪!

我才不要把我的大门牙露给你们看呢
作者: 陈晓龙    时间: 2020-6-15 15:38
张兴康 发表于 2016-7-15 15:25
我才不要把我的大门牙露给你们看呢

看看嘛!
作者: 张兴康    时间: 2020-6-18 16:37
陈晓龙 发表于 2016-7-15 15:38
看看嘛!






欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://plat.delit.cn/) Powered by Discuz! X3.2