力扣数据库题目:第二高的薪水(简单)

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。

Id Salary
1 100
2 200
3 300

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。

SecondHighestSalary
200

代码:

select IFNULL((select Distinct Salary from Employee order by Salary DESC limit 1,1),null) as SecondHighestSalary 

知识点:

1.MySQL IFNULL() 函数
IFNULL(expression, alt_value)

如果第一个参数的表达式 expression 为 NULL,则返回第二个参数的备用值(alt_value)。

2.SQL SELECT DISTINCT 语句
在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。

DISTINCT 关键词用于返回唯一不同的值。

实例
Employee 表

Id Salary
1 100
2 200
3 300
4 200

执行语句:select Distinct Salary from Employee

结果:

Salary
100
200
300

3.SQL ORDER BY 关键字
order by 关键字: 通过关键字(字段名)来查询
desc: 表示倒序

4.MYSQL LIMIT 用法

  • limit N : 返回 N 条记录

  • offset M : 跳过 M 条记录, 默认 M=0, 单独使用似乎不起作用

  • limit N,M: 相当于 limit M offset N , 从第 N 条记录开始, 返回 M 条记录

    5.select······as·····
    select······as 别名
    给查询出的结果指定别的名字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章