not_in函数致错

简介: Not in 函数-致错我们开发当中有些业务逻辑会用到not in()这个函数,岗位角度:不管是后端开发还是大数据开发还是数据分析师…技术角度:不管是Mysql、Hive、Maxcompute…

Not in 函数-致错

我们开发当中有些业务逻辑会用到not in()这个函数,

  • 岗位角度:不管是后端开发还是大数据开发还是数据分析师…
  • 技术角度:不管是Mysql、Hive、Maxcompute

真实铺垫略加画彩

  1. 我是这样发现的,not in () 的结果为null,看了一下午sql,然后我决定就反响查询,先看in好使不好使,in也是非常的给力,直接甩给我80W+条数据,但是我左表的全量是90W+啊,这不证明有10W+是没有在右表里的么,淦!
  2. 我就又扣迟了几遍not in,发现还是不行,我就想有没有其他函数可以使用(我这里没有第一时间探讨not in函数的问题,给我一拳!)between?any?left join table.column != table.column? 感觉都用不了,算了先吃饭。
  3. 后面想到又个小姐姐晚上还要聊点东西呢,做不完我还早走有点不好,我遍吃肉遍打开CSDN搜索not in() 无效,擦 这么多博客 ,原来他们早就等着我了,具体原因是这个函数设计的是当in(里有null 值)时,我们的结果集永远是null,也就是说我那10W+数据被无情的干掉了。

干完饭实践一下,得出not in (params) 此处的参数必须是有值的,不可以有null,尽管是’ '也可以在你的not in(. 最后加 column != null)就可以,不同sql自己去适配

总结

not In 相当于 all,如果 Not In 后面跟的是子查询的话,子查询中只要包含一个 null 的返回值,则会造成 整个 Not in 字句返回空值,结果就是查询不会返回任何结果。 而 in 相当于 =any 的意思,可以有效处理子查询中返回空值的情况,返回正确的结.



目录
相关文章
|
8月前
|
存储 编译器 C++
13函数
13函数
29 0
|
8月前
|
存储 编译器 C++
|
5月前
|
存储 JavaScript 前端开发
使用函数
【8月更文挑战第26天】
16 1
|
7月前
|
程序员 C语言
函数(1)
函数(1)
46 0
|
程序员 编译器 C语言
从零带你认识函数(一)
从零带你认识函数
94 1
|
C语言
C语言知识点之 函数2
C语言知识点之 函数2
52 0
|
算法 编译器 程序员
|
8月前
函数(三)
函数(三)
50 0
|
编译器 C语言
对函数的剖析一
对函数的剖析一
43 0
|
编译器
函函函函函函函函函函函数——two
函函函函函函函函函函函数——two
101 0
函函函函函函函函函函函数——two

热门文章

最新文章

下一篇
开通oss服务