前言
在平时的工作中,我们或多或少都会遇到大大小小的坑,有的是我们自己不仔细造成了,有的是所使用工具本身存在的 bug ,还有的则是 所使用的工具对某个问题的处理方式与我们想当然的处理方式不同导致的。无论是哪一种坑,都会为我们的工作带来不必要的错误 与困扰,所以需要我们将其纳入自己的经验包中,多积累经验,努力打怪升级,才能迈向巅峰。
发现问题
- 数据库值比较的时候(以前只在使用 oracle 的时候发现,目前实测 mysql 也有同样的问题)
首先看这个图,大家觉得 查询语句 a 查出来的结果会有几条呢?
一开始的时候,我觉得查出来是会有两条数据
但是请看结果:
很明显,这个 age 为 null 的这条数据是没有被查出来的,应该是判断的时候,直接忽略了这条数据
(Oracle 和 mysql 是同样的结果)
大家再来看这条 sql 语句
select * from test111 where age in (select age from test111)
乍一看,这不就是查询出所有的数据了吗?
其实不然,那条 age 为 null 的数据也没有被包括进来
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于