【打卡第200道】【SQL】【leetCode高频】:176. 第二高的薪水

1、题目描述

【打卡第200道】【SQL】【leetCode高频】:176. 第二高的薪水_第1张图片

2、算法分析

第二高的薪水,首先对查询的Salary进行排序。

然后从里面找到第二高的薪水。

知识补充:

第n个记录:

limit n,1:从第n个数开始后,往后一个:也就是第n个数

limit n,offset n-1:limit n 代表的是前n个数,那么跳过前n-1个数,剩下的就是第n个数

select A as B:将A中查询的结果放到表格B中,也就是命名下

题目中说第2条数据为空的话,为null

ifnull(a,b):如果a不为Null的话返回a的值,为null的话返回的是b的值

IFNULL() 函数用于判断第一个表达式是否为 NULL,如果为 NULL 则返回第二个参数的值,如果不为 NULL 则返回第一个参数的值。

3、代码实现

select
   ifnull(( select Distinct Salary  from Employee order by Salary desc limit 1 ,1),null) 
as SecondHighestSalary

你可能感兴趣的:(【MySQL】,【算法】,sql,leetcode,数据库)