思路:

  1. 我们首先通过 max() 求出第一大的薪水。
  2. 然后通过 < 去除最大的,且通过 max() 求出第二大的。
  3. 表连接,取 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'
				)