题解 | #获取当前薪水第二多员工姓名以及其对应的薪水

获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719

select 
    emp_no,
    salary,
    last_name,
    first_name
from
    employees join salaries using(emp_no)
where
    salary in ( #在求出所有salary的表找出不等于最大值的相关数据中找出最大值就是薪水第二多的情况,但是如果要找出排名稍微后面的情况就要做多次查询没有意义。所以建议自连接处理
        select
            max(salary)
        from
            salaries
        where salary not in ( #先通过子查询查出最大值
                select
                    max(salary)
                from
                    salaries 
            ) 
    )

本题的解法是比较耗时的一种情况,因为如果要求出排名较后的薪水的员工信息,可能要借助多个子查询才能完成。

所以可以通过自连接的形式去完成这样的操作,之后会补充自连接的做法。

全部评论

相关推荐

04-02 16:49
门头沟学院 Java
_bloodstream_:我也面了科大讯飞,主管面的时候听说急招人优先考虑能尽快实习的,我说忙毕设,后面就一直没消息了
点赞 评论 收藏
分享
03-25 16:22
南华大学 Java
不敢追175女神:你是打了上千个招呼吧?😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务