编写一个 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 别名
给查询出的结果指定别的名字