题解 | #获取当前薪水第二多员工姓名以及其对应的薪水
获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
https://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719
select emp_no, salary, last_name, first_name from employees join salaries using(emp_no) where salary in ( #在求出所有salary的表找出不等于最大值的相关数据中找出最大值就是薪水第二多的情况,但是如果要找出排名稍微后面的情况就要做多次查询没有意义。所以建议自连接处理 select max(salary) from salaries where salary not in ( #先通过子查询查出最大值 select max(salary) from salaries ) )
本题的解法是比较耗时的一种情况,因为如果要求出排名较后的薪水的员工信息,可能要借助多个子查询才能完成。
所以可以通过自连接的形式去完成这样的操作,之后会补充自连接的做法。