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

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

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

SELECT distinct a.dept_no,a.emp_no,b.MaxSalary
from (
select a.dept_no,a.emp_no,b.salary
from dept_emp a
inner join salaries b on a.emp_no=b.emp_no
) a
inner join (
select dept_no,max(salary) MaxSalary
from dept_emp a
inner join salaries b on a.emp_no=b.emp_no
group by dept_no
) b on a.dept_no=b.dept_no and a.salary=b.MaxSalary
order by dept_no;
效率比较低,但是能完成任务。分享只是因为我做了好久,突然成功了,有点成就感,就分享了。
这里把两表通过inner join合并,当作一个表进行自交操作。取部门最大薪水,做关联查询时,除了让薪水等于求得的最大薪水,还要保证部门是属于同一部门的(之前写的大部分死在这个地方)。代码应该比较清晰,不赘述了。

全部评论

相关推荐

听说改名字就能收到offer哈:Radis写错了兄弟
点赞 评论 收藏
分享
蚂蚁 基架java (n+6)*16 签字费若干
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务