Hive的in与not in 值中有null的时候注意事项,join where条件等问题

在进行hive SQL查询数据的时候,where条件中使用了in或者not in,但是该值内有null空。

这时,无论是in还是not in,空值都不会进入该条件内,但是使用not in的时候只是希望把自己不想要的数据给排除掉,这时会同步把为null的数据也进行排除掉了。所以,在写not in或者in的时候,如果希望保留为null的数据。最好加一条

where (col not in (1,2,3,4) or col is null)

同样,进行先join 后where操作的时候,同样要注意值为null的情况

例如,在 select a,b from t1 join t2 on t1.id = t2.id where a <= 10  此时,为null的也会被全部排除如果希望留下为null的数据。则也需要加上一个条件。 a<= 10 or a is null。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值