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

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

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

select 
    empsal.empno as emp_no, 
    empsal.salary as salary,
    empsal.lastname as last_name,
    empsal.firstname as first_name
from
(
    select
        emp.emp_no as empno,
        sal.salary as salary,
        emp.last_name as lastname,
        emp.first_name as firstname
    from
        employees as emp
        join salaries as sal on emp.emp_no = sal.emp_no
) as empsal,
(select
    max(salary) as secondSalary
from
    salaries
where
    salary != (
        select
            max(salary)
        from
            salaries
    )) as ss
where empsal.salary = ss.secondSalary;

需要那么麻烦吗?

select max(salary) as secondSalary from salaries where salary != ( select max(salary) from salaries );

这不就获得第二多的工资的值了?

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务