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

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

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

详情解答参考以下:

SELECT 
    de.dept_no, 
    sa.emp_no, 
    sa.salary AS maxSalary
FROM 
    (SELECT 
        de.dept_no, 
        MAX(sa.salary) AS max_salary
    FROM 
        dept_emp AS de
    LEFT JOIN 
        salaries AS sa ON de.emp_no = sa.emp_no
    GROUP BY 
        de.dept_no) AS max_salaries
INNER JOIN 
    salaries AS sa ON max_salaries.max_salary = sa.salary
INNER JOIN 
    dept_emp AS de ON de.dept_no = max_salaries.dept_no AND sa.emp_no = de.emp_no
ORDER BY max_salaries.dept_no ASC;

1. 使用子查询并进行分组获取部门编号以及最高薪资
2. 根据 薪资内连接薪资表 获取员工编号
3. 根据 部门编号及薪资表中的员工编号内连接员工表
4. 根据 最高薪资表(子查询)中的部门编号进行排序 当然默认升序可以不写

全部评论

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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