力扣176.第二高的薪水

SQL架构

编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。

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

例如上述 Employee 表,SQL查询应该返回 200 作为第二高的薪水。如果不存在第二高的薪水,那么查询应返回 null

+---------------------+
| SecondHighestSalary |
+---------------------+
| 200                 |
+---------------------+

 分析:题目要求找出第二大的数据,那么我们找出比最大的数据小的最大数即可。

# Write your MySQL query statement below
select Max(Salary) as SecondHighestSalary from Employee where Salary<(select Max(Salary) from Employee);

 

转载于:https://my.oschina.net/u/4035025/blog/3008737

<think>好的,用户想寻找LeetCode上的数据库题目列表。首先我需要回忆LeetCode的题目分类,确定数据库题目的位置。记得LeetCode按照算法、数据库、Shell等分类,数据库题主要涉及SQL查询,比如连接、子查询、聚合函数等。 接下来,用户可能需要具体的题目编号或标题,但直接列出所有可能涉及版权问题,所以需要参考已有的公开汇总信息。查看用户提供的引用,引用[1]到[4]都提到了不同的数据库题目,例如“第二薪水”、“院系表查询”、“教师教授的科目数量”和“Employee表的薪资查询”。这些引用中给出了部分题目的SQL示例,应该来自用户的站内资料。 用户的问题是要数据库题目的列表,所以需要整理这些引用中的题目,并可能补充其他常见题目。例如,引用[1]中的第二薪水(第176题),引用[3]的查询老师教授的科目种类(可能第2356题),引用[4]的Employee表查询(如第184题部门最工资)。同时,还需要考虑其他常见题目,如组合两个表(第175题)、超过经理收入的员工(第181题)、从不订购的客户(第183题)等。 需要注意回答时不能直接复制LeetCode的题目描述,而是根据引用内容进行概括,并给出题目名称和对应的示例。此外,用户可能需要如何查找这些题目的方法,比如在LeetCode题库中筛选数据库标签,或者使用第三方整理列表。 最后,生成相关问题时要围绕数据库题目,比如如何练习、常见考点、难度分布等,帮助用户进一步探索。</think>关于LeetCode数据库题目列表,以下是主要知识点和典型题目整理: ### 一、基础查询操作 1. **组合两个表** 使用左连接查询姓名、城市信息,核心语法: ```sql SELECT FirstName,LastName,City,State FROM Person p LEFT JOIN Address a ON a.PersonId = p.PersonId ``` 对应题目:175. 组合两个表[^1] 2. **第二薪水** 通过子查询和排序实现: ```sql SELECT (SELECT DISTINCT salary FROM Employee ORDER BY salary DESC OFFSET 1 ROW FETCH NEXT 1 ROW ONLY) AS SecondHighestSalary ``` 对应题目:176. 第二薪水 ### 二、复杂统计查询 3. **院系信息统计** 设计包含院系ID和名称的表结构: ```sql CREATE TABLE Departments ( id INT PRIMARY KEY, name VARCHAR(255) ) ``` 对应题目:184. 部门工资最的员工[^2] 4. **教师授课科目统计** 使用DISTINCT和GROUP BY统计教师授课种类: ```sql SELECT teacher_id, COUNT(DISTINCT subject_id) AS cnt FROM Teacher GROUP BY teacher_id ``` 对应题目:2356. 每位教师教授的科目种类数量[^3] ### 三、典型题目扩展 5. **工资排名查询** 使用窗口函数进行工资排名: ```sql SELECT salary, DENSE_RANK() OVER (ORDER BY salary DESC) AS rank FROM Employee ``` 对应题目:177. 第N薪水[^4]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值