题解 | #获取每个部门中当前员工薪水最高的相关信息#

获取每个部门中当前员工薪水最高的相关信息

http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6

select d.dept_no, d.emp_no, s.salary salary from dept_emp d join salaries s on d.emp_no = s.emp_no where s.to_date = '9999-01-01' and d.to_date = '9999-01-01' and s.salary in (select max(s2.salary) from dept_emp d1 join salaries s2 on d1.emp_no = s2.emp_no and d1.to_date = '9999-01-01' and s2.to_date = '9999-01-01' and d1.dept_no=d.dept_no group by dept_no) order by dept_no;

解题思路: 题目要求筛选出所有部门中最高工资水平的员工信息,如果直接select max(s.salary)的话,只能选出部门中最高薪资水平中的其中一名员工,无法筛选出全部的员工信息,所以需要用到子查询(select max(s2.salary) from dept_emp d1 join salaries s2 on d1.emp_no = s2.emp_no and d1.to_date = '9999-01-01' and s2.to_date = '9999-01-01' and d1.dept_no=d.dept_no group by dept_no): 找到每个部门的最高薪资水平,然后利用这个数字找到对应的员工信息,注意:需要将两个查询中的dept_no进行相等挂钩,并在子查询中对部门种类进行分类。select max(s.salary) group by dept_no表示先对部门进行分类,再搜寻出其中最高的薪资水平。

全部评论

相关推荐

在debug的柠檬精很迷人:好消息:现在HR挑三拣四 15年后 HR跪着求要简历 坏消息:被挑的是这代人,到时候求人的也是这代人。真好。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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