解决Mysql多行子查询的使用及空值问题
codesky · 204浏览 · 发布于2022-01-22
所谓多行子查询,是指执行查询语句获得的结果集中返回了多行数据的子查询,今天通过本文给大家分享Mysql多行子查询的使用及空值问题,感兴趣的朋友一起看看吧
1 定义
也称为集合比较子查询
内查询返回多行
使用多行比较操作符
2 多行比较操作符
-- 多行子查询 -- 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)
子查询的结果:
查询结果:
3.2 解决
去掉子查询中的NULL即可
- 空值问题解决 SELECT last_name FROM employees WHERE employee_id NOT IN ( SELECT manager_id FROM employees manager_id IS NOT NULL)
子查询去掉NULL:
查询结果:
相关推荐
使用SELECT语句检索数据
奔跑的男人 · 793浏览 · 2019-06-03 09:33:43
部署MySQL延迟从库的几个好处
吴振华 · 657浏览 · 2019-05-14 21:57:51
MongoDB凭什么跻身数据库排行前五?
iamitnan · 716浏览 · 2019-06-18 10:04:56
一个快速上手、轻量级 Golang 公共类库 (golang_common)
qq2360248666 · 885浏览 · 2019-05-29 09:48:45
详解基于linux环境MySQL搭建与卸载
追忆似水年华 · 858浏览 · 2019-05-27 09:54:23
Oracle开启和关闭的几种模式
qq2360248666 · 738浏览 · 2019-06-04 10:18:47
分类专栏
最新发布
最热排行
0评论