Leetcode: Second Highest Salary

本文介绍了一种使用SQL从员工表中查询第二高薪水的方法。提供了两种解决方案:一种是通过寻找次于最高薪水的最大值;另一种是利用左连接避免空值出现的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


Get idea from here


Question

Write a SQL query to get the second highest salary from the Employee table.

+—-+——–+
| Id | Salary |
+—-+——–+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+—-+——–+
For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.


Other′s Solution

v1.

Second one should be less than Max one

# Write your MySQL query statement below
select max(Salary)
from Employee
where Salary<(select max(Salary) from Employee)

v2.

using left join will avoid that null does not appear. We make a observation that the max one will not appear in e2

# Write your MySQL query statement below
select e2.Salary
from Employee e1 left join Employee e2 on e1.Salary>e2.Salary
order by e2.Salary desc
limit 1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值