避坑:Sql中 in 和not in中有null值的情况说明

1)in的逻辑规则是or not in 的逻辑规则是 and

2)判断null 的sql语句为 is not null 或者 is null

3)当遇到 null = null 的判断是时由于不符合null的判断规则,所以结果一定为flase

  1. not in 中包含null值的情况
select  *
  from A
  where  A.name not  in 
    (select B.name
          from B )

在上面的not in的查询中如果B表的name字段存在空值时,不论何种情况上述语句的查询结果一定为空

  1. in 中包含null值的情况
select  *
  from A
  where  A.name in 
    (select B.name
          from B )

在上面的 in 的查询中如果B表的name字段存在空值时,如果A表中存在name字段也存在空值,那么上述语句的查询结果中不会显示A表中的空值

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值