解决Mysql多行子查询的使用及空值问题


Posted in MySQL onJanuary 22, 2022

1 定义

  • 也称为集合比较子查询
  • 内查询返回多行
  • 使用多行比较操作符

2 多行比较操作符

解决Mysql多行子查询的使用及空值问题

-- 多行子查询

-- IN
SELECT
	employee_id,
	manager_id,
	department_id 
FROM
	employees 
WHERE
	manager_id IN ( -- 在返回集合中查找有没有相同的manager_id在里面
	SELECT
		manager_id 
	FROM
		employees 
	WHERE
	employee_id IN ( 141, 147 ));
	
-- ANY
#题目:返回其它job_id中比job_id为'IT_PROG'部门任一工资低的员工的员工号、姓名、job_id 以及salary
	last_name,
	job_id,
	salary 
	job_id != 'IT_PROG' 
	AND salary < ANY ( -- 比任意一个小都可以
	SELECT salary FROM employees WHERE job_id = 'IT_PROG' );
-- ALL
#题目:返回其它job_id中比job_id为'IT_PROG'部门所有工资低的员工的员工号、姓名、job_id 以及salary
	AND salary < ALL ( -- 比所有的都小才可以

3 空值问题

3.1 问题

-- 空值问题
SELECT
	last_name 
FROM
	employees 
WHERE
	employee_id NOT IN (
	SELECT -- 子查询中的结果有NULL
		manager_id 
	employees)

子查询的结果:

解决Mysql多行子查询的使用及空值问题

查询结果:

解决Mysql多行子查询的使用及空值问题

3.2 解决

去掉子查询中的NULL即可

-- 空值问题解决
SELECT
	last_name 
FROM
	employees 
WHERE
	employee_id NOT IN (
	SELECT
		manager_id 
	FROM
		employees 
	manager_id IS NOT NULL)

子查询去掉NULL:

解决Mysql多行子查询的使用及空值问题

查询结果:

解决Mysql多行子查询的使用及空值问题

到此这篇关于Mysql多行子查询的使用及空值问题的解决的文章就介绍到这了,更多相关Mysql多行子查询内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
多表查询、事务、DCL
Apr 05 MySQL
MySQL 分页查询的优化技巧
May 12 MySQL
MySQL官方导出工具mysqlpump的使用
May 21 MySQL
MySQL中的布尔值,怎么存储false或true
Jun 04 MySQL
Unity连接MySQL并读取表格数据的实现代码
Jun 20 MySQL
Mysql中where与on的区别及何时使用详析
Aug 04 MySQL
MySQL数据库10秒内插入百万条数据的实现
Nov 01 MySQL
MySQL和Oracle批量插入SQL的通用写法示例
Nov 17 MySQL
mysql自增长id用完了该怎么办
Feb 12 MySQL
排查并解决MySQL生产库内存使用率高的报警
Apr 11 MySQL
mysql数据库隔离级别详解
Jun 16 MySQL
MySQL数据管理操作示例讲解
Dec 24 MySQL
如何避免mysql启动时错误及sock文件作用分析
Jan 22 #MySQL
教你使用VS Code的MySQL扩展管理数据库的方法
Jan 22 #MySQL
彻底解决MySQL使用中文乱码的方法
Jan 22 #MySQL
mysql分组后合并显示一个字段的多条数据方式
Jan 22 #MySQL
MySQL中int (10) 和 int (11) 的区别
Jan 22 #MySQL
JMeter对MySQL数据库进行压力测试的实现步骤
MySQL创建定时任务
Jan 22 #MySQL
You might like
php批量删除数据
2007/01/18 PHP
PHPWind 发帖回帖Api PHP版打包下载
2010/02/08 PHP
php简单读取.vcf格式文件的方法示例
2017/09/02 PHP
根据分辨率不同,调用不同的css文件
2006/08/25 Javascript
Prototype 学习 工具函数学习($方法)
2009/07/12 Javascript
jQuery对象数据缓存Cache原理及jQuery.data方法区别介绍
2013/04/07 Javascript
JS如何判断移动端访问设备并解析对应CSS
2013/11/27 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
深入分析JSONP跨域的原理
2014/12/10 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
Javascript核心读书有感之类型、值和变量
2015/02/11 Javascript
JavaScript实现随机替换图片的方法
2015/04/16 Javascript
js实现数组转换成json
2015/06/26 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
js中获取jsp表单中radio类型的值简单实例
2016/08/15 Javascript
浅谈javascript中的Function和Arguments
2016/08/30 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
javascript实现日期三级联动下拉框选择菜单
2020/12/03 Javascript
React Native AsyncStorage本地存储工具类
2017/10/24 Javascript
angular中不同的组件间传值与通信的方法
2017/11/04 Javascript
微信小程序适配iphoneX的实现方法
2018/09/18 Javascript
[45:59]EG vs OG 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
Python中用pycurl监控http响应时间脚本分享
2015/02/02 Python
python开发准备工作之配置虚拟环境(非常重要)
2019/02/11 Python
Python小白必备的8个最常用的内置函数(推荐)
2019/04/03 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
伦敦剧院及景点门票:Encore Tickets
2018/07/01 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
华为C++笔试题
2014/08/05 面试题
乡镇三项教育实施方案
2014/03/30 职场文书
银行求职信怎么写
2014/05/26 职场文书
护理学院专科毕业生求职信
2014/06/28 职场文书
颐和园导游词
2015/01/30 职场文书
MySQL 查询速度慢的原因
2021/05/25 MySQL