咨询热线:
024-88614238
最新动态
相关新闻
sql查询用到not in时,注意null值

分别设计两个表test1 、test2,表的结构是一样的,均为:

rec_no (int)

content (varchar(20))

test1表中的值为:

rec_no content

      01
      02
      03
      04
      05
      06

test2表中的值为:

02
04
06
NULL
NULL
 

然后看下面的语句:
select * from test1 where content in (select content from test2)

查询的结果是意料之中的,如下:

 02
 04
 06

但是用 not in 查询结果会怎样呢?

select * from test1 where content not in (select content from test2)

结果为空值,一行数据也没有。我原来以为结果应该为:

01
03
05

后来我猜想应该是因为在子查询中存在null值的原因。把上面的语句改造一下

select * from test1 where content not in (select content from test2 where content is not null)

结果为:

01
03
05

所以以后用not in 的时候要考虑子查询的结果中是否存在null.一定要注意哦。我是经过了小小困惑才得到这个经验的。切记切记。

沈阳网络公司招聘

联系方式
地址:沈阳市东陵区
万柳塘路109甲1宏发 大厦525室
电话:024-24804848
8748636
15317796
102656105

友情链接(联系QQ:8748636) 沈阳网站制作| 沈阳网站制作| 沈阳SEO公司| 沈阳主机托管| 沈阳网络公司| 沈阳网站制作| 沈阳网站建设|
地址:沈阳市沈河区万柳塘路36-1 弘锦大厦412室 经理QQ:8748636 技术QQ:30999233 联系电话:024-88614238
Copyright? 2005-2013,沈阳海风网络科技有限公司 All Right Reserved. 版权所有 辽ICP备05004358号
【海风数据港】是专业沈阳服务器托管、沈阳网站制作、沈阳网站优化、沈阳网站建设的沈阳网络公司