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

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

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

-- 1. 第一步先通过左查询关联dept_emp,salaries表,连接条件是emp_no,得到一个员工信息和薪资信息的子表de1
-- 2. 第二步通过左查询关联dept_emp,salaries表,连接条件是emp_no,然后根据dept_no进行分组,使用max函数查询出部门最高薪资表max_ds
-- 3. 然后将两个表用dept_no做关联,用de1.salary = max_ds.maxSalary做过滤,得出部门最高的员工信息

select
    de1.dept_no,
    de1.emp_no,
    max_ds.maxSalary
from
    (
        select
            de.dept_no,
            de.emp_no,
            s.salary
        from
            dept_emp as de
            left join salaries as s on de.emp_no = s.emp_no
    ) de1,
    (
        select
            de.dept_no,
            max(s.salary) as maxSalary
        from
            dept_emp as de
            left join salaries as s on de.emp_no = s.emp_no
        group by
            dept_no
    ) max_ds
where
    de1.dept_no = max_ds.dept_no
    and de1.salary = max_ds.maxSalary
order by de1.dept_no;

全部评论

相关推荐

04-17 23:48
西北大学 Java
陈好好wy:加油加油 字节和心脏谁先跳动
字节跳动开奖383人在聊
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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