题解 | 获取员工其当前的薪水比其manager当前薪水还高的相关信息
获取员工其当前的薪水比其manager当前薪水还高的相关信息
https://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef
with manager_salary as( select dm.emp_no,dept_no,dm.to_date,salary from dept_manager dm join salaries s using(emp_no) where dm.to_date = '9999-01-01' ), emp_salary as( select de.emp_no,dept_no,de.to_date,salary from dept_emp de join salaries s using(emp_no) where de.to_date = '9999-01-01' and emp_no not in (select emp_no from dept_manager) ) select es.emp_no, ms.emp_no manager_no, es.salary emp_salary, ms.salary manager_salary from emp_salary es join manager_salary ms using(dept_no) where es.salary > ms.salary
- manager_salary得到在职经理的薪水
- emp_salary得到在职员工的薪水,剔除了经理
- emp_salary和manager_salary通过dept_no连接,where条件得到最终答案