题解 | #获取所有非manager员工当前的薪水情况#
获取所有非manager员工当前的薪水情况
https://www.nowcoder.com/practice/8fe212a6c71b42de9c15c56ce354bebe
-- 1. 首先找出所有经理的员工号作为子查询条件
-- 2. 通过employees表中的员工号not in 第一个范围内的员工号,筛选出所有普通员工数据
-- 3. 将第二步的normal_e表和员工薪资表salaries连表查询得到一个包含薪资的员工信息表es
-- 4. 最后将es表和部门表连查得到最终结果
select
de.dept_no,
es.emp_no,
es.salary
from
(
select
normal_e.*,
s.salary
from
(
select
*
from
employees
where
emp_no not in (
select
e.emp_no
from
employees e,
dept_manager dm
where
e.emp_no = dm.emp_no
)
) normal_e
left join salaries s on normal_e.emp_no = s.emp_no
) es,
dept_emp de
where
es.emp_no = de.emp_no;