SQL架构
Create table If Not Exists Employee (Id int, Salary int)
Truncate table Employee
insert into Employee (Id, Salary) values ('1', '100')
insert into Employee (Id, Salary) values ('2', '200')
insert into Employee (Id, Salary) values ('3', '300')
编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。
+----+--------+
| Id | Salary |
+----+--------+
| 1 | 100 |
| 2 | 200 |
| 3 | 300 |
+----+--------+
例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null。
+---------------------+
| SecondHighestSalary |
+---------------------+
| 200 |
+---------------------+
执行过程:
方法一:
SELECT MAX(Salary) AS SecondHighestSalary
FROM Employee
where salary < (
SELECT MAX(Salary)
FROM Employee
)
涉及技术:
当需要了解一列中的最大值时,可以使用MAX()函数;同样

这篇博客探讨了如何在Oracle数据库中找到Employee表中第二高的薪水。提供了两种方法,包括使用MAX()函数和row_number() over()窗口函数。同时讲解了这两个函数的工作原理及其在SQL查询中的应用。
最低0.47元/天 解锁文章
280

被折叠的 条评论
为什么被折叠?



