思路:
- 我们首先通过
max()
求出第一大的薪水。 - 然后通过
<
去除最大的,且通过max()
求出第二大的。 - 表连接,取 salary = 第二大的薪水,及对应的字段值。
完整代码:
select e.emp_no, s.salary, e.last_name, e.first_name
from employees e inner join salaries s
on e.emp_no = s.emp_no
where s.salary = (select max(salary)
from salaries
where salary < (select max(salary)
from salaries
where to_date = '9999-01-01'
)
and to_date = '9999-01-01'
)