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



目录
相关文章
|
Web App开发 测试技术
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
Selenium+python之隐藏浏览器的“Chrome正在受到自动软件的控制“提示语
643 0
|
分布式计算 DataWorks 监控
DataWorks报错问题之报错DataWorks overflow如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
Java 测试技术 应用服务中间件
使用Maven构建一个项目时,通常按照以下六个步骤的顺序进行
使用Maven构建一个项目时,通常按照以下六个步骤的顺序进行
335 0
|
Windows
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
不用 “netsh winsock reset” 命令解决 “在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配”
解决 在配置文件列表中找不到你的默认配置文件-使用第一个配置文件。请进行检查以确保 "defaultProfile" 与你的某个配置文件的 GUID 相匹配
|
Java 数据库连接 数据库
解决mybatis plus 驼峰式命名规则
驼峰式命名规则数据库字段找不到
2084 0
解决mybatis plus 驼峰式命名规则
RAID常见级别与JBOD概述
文章详细介绍了RAID技术的常见级别,包括RAID 0、RAID 1、RAID 4、RAID 5、RAID 6、RAID 7、RAID 10、RAID 01、RAID 50以及JBOD的概念、工作原理、优缺点和适用场景,同时探讨了RAID与JBOD的区别以及软件RAID的实现方法。
1344 1
RAID常见级别与JBOD概述
|
开发工具 git 开发者
掌握版本控制的艺术:Git 与 GitHub 的高效使用指南
在软件开发中,版本控制对于代码管理和团队协作至关重要。本文详细介绍了 Git 的核心概念与命令,包括初始化、创建仓库、文件跟踪、分支管理和远程仓库操作。同时,探讨了如何利用 GitHub 进行项目组织、代码审查及自动化工作流。通过遵循最佳实践,如频繁提交、清晰的信息记录和合理使用分支,开发者可以提升工作效率和团队协作能力,确保项目的持续成功。
|
Python
Python中的and or not
Python中的and or not
513 1
|
分布式计算 Java API
Flink教程(04)- Flink入门案例
Flink教程(04)- Flink入门案例
356 0
|
存储 关系型数据库 数据处理
在 Postgres 中使用创建临时表
【8月更文挑战第11天】
679 0