LeetCode database 之 Second Highest Salary(第二高薪水)

题目:

Write a SQL query to get the second highest salary from the Employee table.

+----+--------+
| Id | Salary |
+----+--------+
| 1  | 100    |
| 2  | 200    |
| 3  | 300    |
+----+--------+

For example, given the above Employee table, the second highest salary is 200. If there is no second highest salary, then the query should return null.

如果没有第二高薪水,则返回NULL

代码:

使用max,如果不存在最高的则返回NULL

# Write your MySQL query statement below
SELECT max(Salary) FROM Employee WHERE Salary < (SELECT max(Salary) FROM Employee);

使用MySQL的特有函数IFNULL()

# Write your MySQL query statement below
SELECT IFNULL( (SELECT distinct Salary as SecondHighestSalary FROM Employee order by Salary desc limit 1,1) ,null);


你可能感兴趣的:(数据库)