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 的意思,可以有效处理子查询中返回空值的情况,返回正确的结.



目录
相关文章
|
11天前
写一个函数
【7月更文挑战第4天】写一个函数。
9 2
|
26天前
函数\judgeprime
函数\judgeprime
15 5
|
2月前
|
Java 测试技术 Python
为什么要用函数
在编程中,函数是一种重要的抽象工具,它使我们能够组织和复用代码,提高代码的可读性、可维护性和效率。函数允许我们将一段代码块封装起来,给它一个名字,并通过参数和返回值来与外部世界交互。下面,我们将深入探讨为什么要使用函数,并附上相应的代码示例。
26 1
|
7月前
|
算法 编译器
函数(2)
函数(2)
29 0
|
10月前
MQTTClient_setCallbacks()函数
MQTTClient_setCallbacks()
650 0
|
编译器 C语言
C 中的函数
C 中的函数
函数加强
在我们日常开发中,如果要遍历一个文件夹下的所有文件,通常使用递归来实现;
函数(二)
今天我们来学习函数(二)的相关内容,视频我已经传到b站上了,现在把链接发给大家,大家可以在b站上观看。关于函数我在为大家补充变量作用域的知识点。它分为两个部分:1.局部变量 2.全局变量
90 0
函数(二)