力扣數據庫題目:第二高的薪水(簡單)

編寫一個 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 別名
    給查詢出的結果指定別的名字

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