题解 | 获取员工其当前的薪水比其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

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务