select e.emp_no,s.salary,e.last_name,e.first_name
from salaries s
left join 
employees e
on s.emp_no=e.emp_no
where salary = (
    select max(salary)
    from salaries
    where salary <>(select max(salary) from salaries)
)

利用嵌套max函数求解

select s.emp_no,s.salary,e.last_name,e.first_name
from salaries s
left join
employees e
on s.emp_no=e.emp_no
where s.emp_no in (
    select s1.emp_no
    from salaries s1
    left join
    salaries s2
    on s1.salary<=s2.salary
    group by s1.emp_no
    having count(distinct s2.salary)=2
)

利用自连接配合聚合函数count得到排名然后筛选