编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary)。如果不存在第二高的薪水,那么查询应返回 null。
- 首先将数据排序然后去重
- 利用limit取数据
limit y 分句表示: 读取 y 条数据
limit x, y 分句表示: 跳过 x 条数据,读取 y 条数据
limit y offset x 分句表示: 跳过 x 条数据,读取 y 条数据 - 考虑到空值的情况,使用IFNULL处理
ifnull(x,y),若x不为空则返回x,否则返回y
select
ifnull
(
(select distinct Salary
from Employee
order by Salary desc
limit 1,1),
null
)as SecondHighestSalary