解决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 Threads_running飙升与慢查询的相关问题解决
May 08 MySQL
MySQL 存储过程的优缺点分析
May 20 MySQL
MySQL一些常用高级SQL语句
Jul 03 MySQL
mysql配置SSL证书登录的实现
Sep 04 MySQL
浅谈MySQL表空间回收的正确姿势
Oct 05 MySQL
SQL实战演练之网上商城数据库商品类别数据操作
Oct 24 MySQL
SQL优化老出错,那是你没弄明白MySQL解释计划用法
Nov 27 MySQL
MySQL为数据表建立索引的原则详解
Mar 03 MySQL
MySql重置root密码 --skip-grant-tables
Apr 11 MySQL
使用Mysql计算地址的经纬度距离和实时位置信息
Apr 29 MySQL
mysql查找连续出现n次以上的数字
May 11 MySQL
MySQL中order by的执行过程
Jun 05 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教程 插件机制在PHP中实现方案
2012/11/02 PHP
php图片水印添加、压缩、剪切的封装类实现
2020/04/18 PHP
zend framework中使用memcache的方法
2016/03/04 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
如何实现浏览器上的右键菜单
2006/07/10 Javascript
在多个页面使用同一个HTML片段《续》
2011/03/04 Javascript
基于MVC3方式实现下拉列表联动(JQuery)
2013/09/02 Javascript
cookie的复制与使用记住用户名实现代码
2013/11/04 Javascript
javascript中的__defineGetter__和__defineSetter__介绍
2014/08/15 Javascript
jQuery链使用指南
2015/01/20 Javascript
jQuery 回调函数(callback)的使用和基础
2015/02/26 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
angularjs 中$apply,$digest,$watch详解
2016/10/13 Javascript
BootstrapTable refresh 方法使用实例简单介绍
2017/02/20 Javascript
vue filters的使用详解
2018/06/11 Javascript
解决vue中虚拟dom,无法实时更新的问题
2018/09/15 Javascript
详解mpvue scroll-view自动回弹bug解决方案
2018/10/01 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
使用异步组件优化Vue应用程序的性能
2019/04/28 Javascript
layui button 按钮弹出提示窗口,确定才进行的方法
2019/09/06 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
Python Socket编程入门教程
2014/07/11 Python
使用SAE部署Python运行环境的教程
2015/05/05 Python
python中的编码知识整理汇总
2016/01/26 Python
Python编写简单的HTML页面合并脚本
2016/07/11 Python
Python利用heapq实现一个优先级队列的方法
2019/02/03 Python
python调用matplotlib模块绘制柱状图
2019/10/18 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
基于Python中Remove函数的用法讨论
2020/12/11 Python
Charlotte Tilbury英国官网:英国彩妆品牌
2017/05/26 全球购物
美国最大的家庭鞋类零售商之一:Shoe Carnival
2017/10/06 全球购物
员工生日活动方案
2014/08/24 职场文书
2014年银行客户经理工作总结
2014/11/12 职场文书
小学优秀教师材料
2014/12/15 职场文书
2015年女工委工作总结
2015/07/27 职场文书