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

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

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

### 首先,查找出原表最高的工资
WITH m_salary AS (
    SELECT max(salary) max_salary
    FROM salaries
),
### 再找出比最大工资小的次大工资
second_salary AS(
    SELECT max(salary) se_salary
    FROM salaries
    WHERE salary < (
        SELECT max_salary
        FROM m_salary
    )
)
### 最后,再根据工资去匹配人即可
SELECT t1.emp_no,t2.salary,t1.last_name,t1.first_name
FROM employees t1
JOIN salaries t2
ON t1.emp_no = t2.emp_no
WHERE t2.salary = (
    SELECT se_salary
    FROM second_salary
)

全部评论

相关推荐

03-12 13:51
南昌大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务