题解 | #获取所有非manager员工当前的薪水情况#

获取所有非manager员工当前的薪水情况

http://www.nowcoder.com/practice/8fe212a6c71b42de9c15c56ce354bebe

初读题目,我们都会感到无从下手,所以,我们先将题目进行分解:
第一步:先找到每个部门的非manager员工信息

select de.dept_no,de.emp_no from dept_emp de join dept_manager dm on
de.emp_no NOT in (dm.emp_no) WHERE de.dept_no = dm.dept_no;

在上面的语句中,我们用到了not in(),找到非manager员工。
第二步:将上述查到的信息当做一张临时表,结合薪水表salaries,查出每一个部门中所有非manager员工的
薪水

SELECT t.dept_no,t.emp_no,s.salary from salaries s JOIN
(select de.dept_no,de.emp_no from dept_emp de join dept_manager dm on
de.emp_no NOT in (dm.emp_no) WHERE de.dept_no = dm.dept_no) t
on t.emp_no = s.emp_no;

综合上面的解题思路:对于多张表查询信息的情况,我们一般都会先将其拆解成多个部分,而后联系这各个部门,
求出最后的结果。

全部评论

相关推荐

牛客279957775号:铁暗恋
点赞 评论 收藏
分享
Pandaileee:校友加油我现在也只有一个保底太难了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务