题解 | 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

相关推荐

10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
三年之期已到我的offer快到碗里来:9硕都比不上9本
点赞 评论 收藏
分享
2 收藏 评论
分享
牛客网
牛客企业服务