mysql not in子查询返回结果为空
来源:互联网 发布:绝地求生帧数优化软件 编辑:程序博客网 时间:2024/05/19 04:04
今天写sql语句的时候,希望通过not in子查询来限制查询结果,实际SQL语句如下:
select ID as id, TYPE_CODE as typeCode , TYPE_NAME as typeName ,
PARENT_ID as parentsId , STYLE as style , LEVELS as levels
from type_code
where PARENT_ID = '30119a0e-2f57-473d-9f1d-2843561e9064' and ID not in
( select PARENT_ID from type_code where PARENT_ID);
结果满足查询的条件为空……
后来发现,子查询中存在字段的某些值为null,所以导致了count=0.
所以,将SQL调整为如下:
select ID as id, TYPE_CODE as typeCode , TYPE_NAME as typeName ,
PARENT_ID as parentsId , STYLE as style , LEVELS as levels
from type_code
where PARENT_ID = '30119a0e-2f57-473d-9f1d-2843561e9064' and ID not in
( select PARENT_ID from type_code where PARENT_ID is not null);
这样就能正确的查出结果了!
总结:MySQL中如果要用not in在子查询中限制结果,那必须要将子查询的结果集限制为不含null,不然查询结果count = 0.
--本篇文章转自:http://blog.csdn.net/allenlinrui/article/details/6286954
- mysql not in子查询返回结果为空
- not in 不能使用在子查询结果为null
- mybatis查询数据库返回结果为空
- MySQL中,not in子查询
- mysql not in null 子查询问题
- Mysql查询中文结果集为空的问题
- mysql将查询结果为空的栏目转为0
- 判断php查询出来的mysql结果是否为空
- MYSQL使用float类型精确查询结果为空
- (NOT) IN 子查询
- MySQL数据库传中文字符查询返回值为空
- MySQL的JDBC判断查询结果是否为空以及获取查询结果行数的方法
- mysql的not in 导致查询无结果原因
- mysql存储过程判断不为空和不为空,查询结果赋值变量
- mysql游标结果为空
- select查询返回值类型和返回空类型是not in和exists的区别
- SQL 中IN、NOT IN 对结果含NULL的子查询使用
- 判断Map返回结果是否为空
- Celery 学习笔记(3)- 任务和任务执行
- 在System.Timers.Timer的处理程序中调用MessageBox.Show()弹出的确是非模态的
- sysctl命令
- 机器学习基础
- 2017最新安卓版UI设计规范篇
- mysql not in子查询返回结果为空
- angularjs ngdoc
- 【Hadoop】最新版本Apache Flume 1.7实践(未完结,待定)
- 数据库数据定义语言(DDL)
- String 实现
- extends、implements: 是否要求强制“继承/实现”所有的的“变量和方法”???
- 微信背景音乐不自动播放解决
- 真实项目运用-RecyclerView封装
- 一种自动反射消息类型的 Google Protobuf 网络传输方案