一、概述
子查询返回的结果是一行(可以是多列),这种子查询称为行子查询。
常用的操作符:=、<>、in、not in
二、演示
【例】查询与“张无忌”的薪资及直属领导相同的员工信息
1、查询张无忌的薪资和直属领导
返回的结果是一行(可以多列)
2、查询与张无忌的薪资及直属领导相同的员工信息
3、合并两个,变为子查询
【代码】
-- 行子查询
-- 1、查询与张无忌的薪资及直属领导相同的员工信息
-- a.查询张无忌的薪资和直属领导
select salary, managerid from emp1 where name = '张无忌'; -- 返回(12500, 1)
-- b.查询与张无忌的薪资及直属领导相同的员工信息
select * from emp1 where salary = 12500 and managerid = 1;
select * from emp1 where (salary, managerid) = (12500, 1);
-- 合并两个,变为子查询
select * from emp1 where (salary, managerid) = (select salary, managerid from emp1 where name = '张无忌');