题解 | 获取员工其当前的薪水比其manager当前薪水还高的相关信息
获取员工其当前的薪水比其manager当前薪水还高的相关信息
https://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef
思路:
一、表连接
1. 表连接,使用dept_emp左连接dept_manager,on dept_no,这样同一部门的普通员工与经理就会对应上。
2. 然后使用dept_emp左连接薪水表salaries as s1,on emp_no这样所有员工的薪水都会得到。
3. 最后使用dept_manager的emp_no左连接salaries,on emp_no这样就可以得到经理的salary
二、表操作
1. 设置where dept_emp.emp_no != dept_manager.emp_no,这样就可以把多余的经理行筛除。在dept_emp.emp_no中只剩下了普通员工
2. 比较两个salary即可
select de.emp_no as emp_no,
dm.emp_no as manager_no,
es.salary as emp_salary,
ms.salary as manager_salary
from dept_emp de
left join dept_manager dm on de.dept_no = dm.dept_no
left join salaries as es on de.emp_no = es.emp_no
join salaries as ms on ms.emp_no = dm.emp_no
where de.emp_no != dm.emp_no
and es.salary > ms.salary
查看3道真题和解析
