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