Skip to content

表子查询

子查询返回的结果是多行多列,这种子查询称为表子查询

常用的操作符:IN

案例

查询鹿杖客,宋远桥的职位和薪资相同的员工信息

  • 查询鹿杖客,宋远桥的职位和薪资
bash

select job,salary from emp where name in('鹿杖客','宋远桥');
  • 查询职位和薪资与上面相同的员工
bash
select * from emp where (job,salary) in (select job,salary from emp where name in('鹿杖客','宋远桥'));

查询入职日期是2006-01-01之后的员工信息, 及其部门信息

  • 入职日期是2006-01-01之后的员工信息
bash
select * from emp where entrydate > '2006-01-01';
  • 查询这部分员工对应的部门信息
bash
select e.*,d.* from (select * from emp where entrydate > '2006-01-01')  e left join dept d on e.deptid = d.id