解决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 相关文章推荐
浅析InnoDB索引结构
Apr 05 MySQL
MySQL性能压力基准测试工具sysbench的使用简介
Apr 21 MySQL
详解mysql三值逻辑与NULL
May 19 MySQL
MySQL 8.0 Online DDL快速加列的相关总结
Jun 02 MySQL
mysql联合索引的使用规则
Jun 23 MySQL
MySQL 8.0 驱动与阿里druid版本兼容问题解决
Jul 01 MySQL
通过shell脚本对mysql的增删改查及my.cnf的配置
Jul 07 MySQL
MySQL8.0升级的踩坑历险记
Nov 01 MySQL
一文带你探究MySQL中的NULL
Nov 11 MySQL
mysql 获取时间方式
Mar 20 MySQL
MySQL中一条SQL查询语句是如何执行的
Apr 08 MySQL
MySQL中优化SQL语句的方法(show status、explain分析服务器状态信息)
Apr 09 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下使用curl模拟用户登陆的代码
2010/09/10 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP实现根据时间戳获取周几的方法
2016/02/26 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
php和asp语法上的区别总结
2019/05/12 PHP
在thinkphp5.0路径中实现去除index.php的方式
2019/10/16 PHP
javascript showModalDialog,open取得父窗口的方法
2010/03/10 Javascript
js判断输入是否为数字的具体实例
2013/08/03 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
Angular.js 实现数字转换汉字实例代码
2016/07/14 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
Javascript中的 “&amp;” 和 “|” 详解
2017/02/02 Javascript
微信小程序开发入门基础教程
2017/04/19 Javascript
vue-router 组件复用问题详解
2018/01/22 Javascript
Chart.js 轻量级HTML5图表绘制工具库(知识整理)
2018/05/22 Javascript
解决vue-cli3 使用子目录部署问题
2018/07/19 Javascript
nodejs遍历文件夹下并操作HTML/CSS/JS/PNG/JPG的方法
2018/11/01 NodeJs
vue 项目接口管理的实现
2019/01/17 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
python爬取淘宝商品详情页数据
2018/02/23 Python
对Python中plt的画图函数详解
2018/11/07 Python
python字符串和常用数据结构知识总结
2019/05/21 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
详解Python list和numpy array的存储和读取方法
2019/11/06 Python
Keras 中Leaky ReLU等高级激活函数的用法
2020/07/05 Python
Daniel Wellington官方海外旗舰店:丹尼尔惠灵顿DW手表
2018/02/22 全球购物
会计员岗位职责
2014/03/15 职场文书
民主评议党员工作总结
2014/10/20 职场文书
刑事撤诉申请书
2015/05/18 职场文书
不同意离婚代理词
2015/05/23 职场文书
销售人员管理制度
2015/08/06 职场文书
2016年教师节感恩寄语
2015/12/04 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL