lc database 176 第二高的薪水

2021-10-01 09:14:21 字數 1010 閱讀 8037

1.176. 第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水(salary) 。

| id | salary |

| 1 | 100 |

| 2 | 200 |

| 3 | 300 |

例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。

| secondhighestsalary |

| 200 |

兩種答案:

1.ifnull

select

ifnull(

(select distinct salary

from employee

order by salary desc

limit 1 offset 1),

null) as secondhighestsalary

offset指定select語句開始查詢的資料偏移量。相當於每頁顯示幾條資料。

select * from employee limit 1 offset 2;
ifnull(expr1,expr2) : expr1是乙個表示式,當expr1為null時 直接使用expr2的值。

select ifnull((select id from employee where id = 4),null)  as data;
通過內層迴圈來判斷是否有資料,來決定是否要進行ifnull函式判斷 如果沒有資料的話 直接返回null。

select

(select distinct

salary

from

employee

order by salary desc

limit 1 offset 1) as secondhighestsalary

通過內查詢 查詢出第二高的薪水。

176 第二高的薪水

編寫乙個 sql 查詢,獲取employee表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述employee表,sql查詢應該返回200作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回null。secondhighestsalary 200 思...

176 第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary idsalary 1100 2200 3300 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。secondhighestsalary 20...

176 第二高的薪水

編寫乙個 sql 查詢,獲取 employee 表中第二高的薪水 salary id salary 1 100 2 200 3 300 例如上述 employee 表,sql查詢應該返回 200 作為第二高的薪水。如果不存在第二高的薪水,那麼查詢應返回 null。secondhighestsalar...