解决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 相关文章推荐
Mysql Show Profile
Apr 05 MySQL
mysql的MVCC多版本并发控制的实现
Apr 14 MySQL
MySql新手入门的基本操作汇总
May 13 MySQL
MySQL大小写敏感的注意事项
May 24 MySQL
MySQL中VARCHAR与CHAR格式数据的区别
May 26 MySQL
MySQL如何使用使用Xtrabackup进行备份和恢复
Jun 21 MySQL
Node-Red实现MySQL数据库连接的方法
Aug 07 MySQL
MySQL 用 limit 为什么会影响性能
Sep 15 MySQL
Mysql binlog日志文件过大的解决
Oct 05 MySQL
一文搞清楚MySQL count(*)、count(1)、count(col)区别
Mar 03 MySQL
MySQL创建管理RANGE分区
Apr 13 MySQL
MySQL提升大量数据查询效率的优化神器
Jul 07 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/03/16 PHP
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
10个实用的PHP代码片段
2011/09/02 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
19个超实用的PHP代码片段
2014/03/14 PHP
PHP中常用的数组操作方法笔记整理
2016/05/16 PHP
php 解析xml 的四种方法详细介绍
2016/10/26 PHP
php对微信支付回调处理的方法
2018/08/23 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
PHP与Web页面的交互示例详解二
2020/08/04 PHP
9个javascript语法高亮插件 推荐
2009/07/18 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
2013/02/02 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
js时间比较 js计算时间差的简单实现方法
2016/08/26 Javascript
vue+vuecli+webpack中使用mockjs模拟后端数据的示例
2017/10/24 Javascript
vue观察模式浅析
2018/09/25 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
JavaScript实现手机号码 3-4-4格式并控制新增和删除时光标的位置
2020/06/02 Javascript
浅谈JSON5解决了JSON的两大痛点
2020/12/14 Javascript
[02:31]2014DOTA2国际邀请赛2009专访:干爹表现出乎意料 看好DK杀回决赛
2014/07/20 DOTA
通过源码分析Python中的切片赋值
2017/05/08 Python
使用TensorFlow实现简单线性回归模型
2019/07/19 Python
python 使用paramiko模块进行封装,远程操作linux主机的示例代码
2020/12/03 Python
详解前端HTML5几种存储方式的总结
2016/12/27 HTML / CSS
PHP面试题及答案二
2015/05/23 面试题
期末自我鉴定
2014/02/02 职场文书
大学军训感言600字
2014/02/25 职场文书
党员承诺书范文
2014/05/19 职场文书
考察现实表现材料
2014/05/19 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
暑期家教宣传单
2015/07/14 职场文书
详解PHP Swoole与TCP三次握手
2021/05/27 PHP
用Python监控你的朋友都在浏览哪些网站?
2021/05/27 Python
vue-cli4.5.x快速搭建项目
2021/05/30 Vue.js