select b.emp_no,b.salary,a.last_name,a.first_name -- 3.查出对应字段 from employees a left join salaries b on a.emp_no=b.emp_no where b.salary in ( select max(c.salary) as maxsalary from salaries c --2.再查出排除最高工资后的最高工资,也就是第二高工资 where c.salary not in ( select max(d.salary) as maxsalary from salaries d -- 1.先查出所有员工的最高工资 ) )
所谓第二多就是少于第一多,那么排除第一多的,那第二多的就成了第一多的
这种做法可以保证多个员工的工资相同的情况