子查询(一条SQL语句的查询结果依赖于另一条SQL语句的查询结果)
员工表 (emp):
部门表 (dep):
(where 子查询)
1、只知道 IT 这个部门名称,要查询 IT 部门的员工信息
首先根据部门名称 查询到部门编号
select dep_id from dep where dep_name = 'IT'
然后再根据部门编号去员工表中查询员工数据
select * from emp where dep_id=
(select dep_id from dep where dep_name = 'IT')
结果图:
(from 子查询)
2、就基于上面这个结果图来看想从其中找出工资为3600的
select * from
(select * from emp where dep_id=
(select dep_id from dep where dep_name = 'IT'))
where emp_salary = 3600
上面的结果图相当于sql语句查询出来的一个新表,然后基于这个新表再进行查询
结果图: