Mysql Not in有null值查询的问题
今天发现Mysql的not in使用的一个问题,大致是:
select * from A where id not in (select fid from B).
发现查询结果无论如何都是0条记录。后来发现B里面返回的查询结果集有一条NULL值,查了资料才知道mysql 的not in里面如果有一个NULL值,将返回0条记录。
要解决这个问题需要把 select fid from B 变成
select fid from B where B.fid is not null
这个问题在其他的数据库里也会有,是因为 not in的处理有问题。再具体详细说明一下,如下:
select * from A where id not in (1,2,null )
那么就没有记录返回,因为里面有null值,当用id和null比较的时候,会返回false,所以一条记录都不会返回,所以要改成下面就可以了:
select * from A where id not in (select bid from B where bid is not null )
Mysql Not in有null值查询的问题的更多相关文章
- Elasticsearch .net client NEST 空字符/null值查询
null值查询 当某个字段值为null时,其实在es里该条数据是没有这个字段的.查询时检测包含不包含该字段就行. /// <summary> /// null 值查询 /// 当数据为Nu ...
- mysql null 值查询问题
我在开发公司内部的一个项目时遇到一个问题:select student_quality_id from STUDENT_QUALITY where mark_status=0 and batch_st ...
- 你还不知道mysql中空值和null值的区别吗?
前言 最近发现带的小伙伴写sql对于空值的判断方法不正确,导致程序里面的数据产生错误,在此进行一下整理,方便大家以后正确的判断空值.以下带来示例给大家进行讲解. 建表 create table tes ...
- mysql 各种运算对于null值的处理
1.A,B,C作为列名时,任意一项为null 则A+B+C为null; 2.count对于null值处理; count(*)包含null项:count(具体列名)忽略null项;count(null) ...
- SQL null值 查询null
select * from emp;
- 关于mysql的null相关查询的一些坑
我们先看一下效果,然后在解释,示例如下: mysql> create table test5 (a int not null,b int,c varchar(10)); Query OK, 0 ...
- 为什么不建议给MySQL设置Null值?《死磕MySQL系列 十八》
大家好,我是咔咔 不期速成,日拱一卒 之前ElasticSearch系列文章中提到了如何处理空值,若为Null则会直接报错,因为在ElasticSearch中当字段值为null时.空数组.null值数 ...
- mysql null值处理详细说明
在讲null之前,我们先看一个例子 表数据如下: 3306>select * from t1; +------+-------+ | id | name | +------+-------+ | ...
- MySQL的NULL值处理
我们已经知道MySQL使用 SQL SELECT 命令及 WHERE 子句来读取数据表中的数据,但是当提供的查询条件字段为 NULL 时,该命令可能就无法正常工作. 为了处理这种情况,MySQL提供了 ...
随机推荐
- 使用Javascript获得网页中通过GET方法提交的参数
下面我将写出一个函数,用来获取GET方法提交的参数 function getParameter(parameterName) { var string = window.location.search ...
- vim自动补全:go
1 环境配置 export GOPATH=/home/go 2 在新建GOPATH下新建三个目录 mkdir src pkg bin src 存放源码pkg 存放编译生成的文件bin 存放生成的可执行 ...
- Java_字符类(Character、String、StringBuffer)_char是基本数据类型,Character是其包装类型。
在java中有三个类负责对字符的操作:Character.String.StringBuffer.其中,Character类是对单个字符进行操作,String是对一个字符序列的操作,Stri ...
- RDLC打印或导出Word的 分页设置 页边距和页面大小
RDLC 导出Word的时候发现,Word的尺寸和页边距有问题,查了MSDN看到这样一段话 Page Sizing When the report is rendered, the Word page ...
- navagationController 的子控制器如何取消右滑返回
1.首先在navagationController的某个控制器中 遵守:UIGestureRecognizerDelegate 2.在viewDidload中设置: self.navigationCo ...
- The method getContextPath() is undefined for the type ServletContext
我出错时,到网上说得是版本问题,我找到对应的包javax-servlet5.1.12.jar,把它删了,居然不报错了,原来是和包servlet-2_5-api.jar冲突了
- 双人五子棋对战(需要EasyX图像库)
实训要做项目呐.天天坐在电脑面前累死了.最近题刷的少.大多数都挺水.就不挨个编辑发上来了.发发白天写的项目吧.可能好几天更一下.实训结束恢复正常. 这个游戏需要EasyX的图像库.有兴趣的可以下一个图 ...
- Javascript中的迭代、归并方法
迭代方法 在Javascript中迭代方法个人觉得尤为重要,在很多时候都会有实际上的需求,javascript提供了5个迭代方法来供我们操作,它们分别为: every() 对数组中的每一个项运用给定的 ...
- UBUNTU下如何开启SSHD服务
“人生本来就有很多事是徒劳无功的.”就像青春,虽然徒劳,却在人的心里住得最久,挥之不去,怀念那段青涩年华,怀念它的... sudo apt-get install openssh-server Ubu ...
- NOSQL之【WIN7的安装配置】
1.下载安装 大家根据各自系统配置,下载相对应的redis版本.我下载是redis 2.6 将redis.conf 复制到 bin/release/redisbin 里面 redis-server.e ...