解决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 infobright的安装步骤
Apr 07 MySQL
MySQL中VARCHAR与CHAR格式数据的区别
May 26 MySQL
MYSQL数据库使用UTF-8中文编码乱码的解决办法
May 26 MySQL
MySQL 不等于的三种使用及区别
Jun 03 MySQL
SQL实现LeetCode(176.第二高薪水)
Aug 04 MySQL
Mysql关于数据库是否应该使用外键约束详解说明
Oct 24 MySQL
MYSQL 表的全面总结
Nov 11 MySQL
MySQL Innodb索引机制详细介绍
Nov 23 MySQL
MySQL创建管理HASH分区
Apr 13 MySQL
提高系统的吞吐量解决数据库重复写入问题
Apr 23 MySQL
详细介绍MySQL中limit和offset的用法
May 06 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取余函数介绍MOD(x,y)与x%y
2014/05/15 PHP
简单说说PHP优化那些事(经验分享)
2014/11/27 PHP
PHP下SSL加密解密、验证、签名方法(很简单)
2020/06/28 PHP
PHP图形操作之Jpgraph学习笔记
2015/12/25 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
php实现的生成排列算法示例
2019/07/25 PHP
JavaScript网页制作特殊效果用随机数
2007/05/22 Javascript
JS正则表达式大全(整理详细且实用)
2013/11/14 Javascript
Visual Studio中js调试的方法图解
2014/06/30 Javascript
深入浅析NodeJs并发异步的回调处理
2015/12/21 NodeJs
动态加载js、css的实例代码
2016/05/26 Javascript
AngularJS中实现动画效果的方法
2016/07/28 Javascript
基于jQuery中ajax的相关方法汇总(必看篇)
2017/11/08 jQuery
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
vue权限管理系统的实现代码
2019/01/17 Javascript
如何根据业务封装自己的功能组件
2019/04/19 Javascript
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
python基础教程之udp端口扫描
2014/02/10 Python
pyqt5自定义信号实例解析
2018/01/31 Python
python实现隐马尔科夫模型HMM
2018/03/25 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
Django框架搭建的简易图书信息网站案例
2019/05/25 Python
pytorch多进程加速及代码优化方法
2019/08/19 Python
Python对wav文件的重采样实例
2020/02/25 Python
Python实现对adb命令封装
2020/03/06 Python
Python是什么 Python的用处
2020/05/26 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
全球烹饪课程的领先预订平台:Cookly
2020/01/28 全球购物
英语演讲稿范文
2014/01/03 职场文书
结对共建工作方案
2014/06/02 职场文书
小学中等生评语
2014/12/29 职场文书
2015年春训学习心得体会范文
2015/03/09 职场文书
优秀大学生自荐信
2015/03/26 职场文书
村主任当选感言
2015/08/01 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书