题解 | SQL18 获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

http://www.nowcoder.com/practice/c1472daba75d4635b7f8540b837cc719

select e.emp_no, t1.salary, e.last_name, e.first_name 
from 
# 表一,找第二大的工资。具体表现为排除最大数之后重排序的的最大数。
(select max(s1.salary) salary from salaries s1
where s1.salary < (select max(s1.salary) from salaries s1)) t1
# 表二, 将次大的工资和工资表进行自连接,这时候 emp_no 就出现了
join salaries s2 on s2.salary = t1.salary
# 表三,和员工表连接,用于取出 name
join employees e on e.emp_no = s2.emp_no
全部评论
看了半天终于有一个语言用MySql可以通过的了
点赞
送花
回复
分享
发布于 2021-10-02 16:09

相关推荐

2 收藏 评论
分享
牛客网
牛客企业服务