本仓库记录 leetcode 上的所有 SQL 的题目以及代码。并随着 leetcode 每周新增的 SQL 题目更新。目录结构如下:
SQL_in_10_minutes
: 《SQL必知必会》tips
: SQL 中的零散知识点problems
: 题目的代码analysis
: 题目分析
已更新题目记录
题目 | 技术点 |
---|---|
175. 组合两个表 | 左连接(《SQL必知必会》13-2) |
176. 第二高的薪水 | 子查询(《SQL必知必会》11) LIMIT, OFFSET(《SQL必知必会》2-6) ISNULL函数 |
177. 第N高的薪水 | 自定义函数(CREATE FUNCTION) 声明变量(DECLARE), 变量赋值(SET) |
178. 分数排名 | 排名相关的窗口函数 RANK/DENSE_RANK/ROW_NUMBER |
180. 连续出现的数字 | 自连接(《SQL必知必会》13-2) 使用窗口函数并构造新属性 分组查询与过滤分组 (《SQL必知必会》10) |
181. 超过经理收入的员工 | 自连接(《SQL必知必会》13-2) 内连接(《SQL必知必会》12-2) |
182. 查找重复的电子邮箱 | 子查询(《SQL必知必会》11-2) 过滤查询(《SQL必知必会》10-3) |
183. 从不订购的客户 | IN, NOT 操作符(《SQL必知必会》5-2, 5-3) 左连接(《SQL必知必会》13-2) |
184. 部门工资最高的员工 | IN 操作符(《SQL必知必会》5-2) 内连接, 分组查询 窗口函数 RANK |
185. 部门工资前三高的所有员工 | 内连接, 分组查询 窗口函数 DENSE_RANK |
196. 删除重复的电子邮箱 | 中间表 FROM (SELECT * FROM tablename) tmp |
197. 上升的温度 | 比较日期,DATEDIFF 内连接, 自连接 |
262. 行程和用户 | 四舍五入 ROUND 函数 统计满足条件的条数: SUM(IF(expr, 0, 1)) 过滤方法, 连接(JOIN), 集合(IN) |
511. 游戏玩法分析 I | 用 MIN 函数求最早的日期 |
512. 游戏玩法分析 II | IN 操作符 |