0Pricing
SQL Interview Prep icon

SQL Interview Prep

SQLDataDatabaseInterviewCareer

掌握 SQL 技术面试 — joins、window functions、CTEs、query optimization 和经典面试题。

🤖 AI 驱动📚 30 门课程👥 10万+ 学习者⭐ 4.9 分
课程概览

从基础到 Window Functions,破解 SQL 面试

SQL 是数据、分析和后端面试中测试最频繁的技能 — 然而大多数候选人都会陷入同样的陷阱:silent NULL behavior、产生行数倍增的 joins,以及现在几乎每家公司都会问到的 window function 题目。这个学习轨道将面试 SQL 转化为可重复的技能。你将完成在产品和数据驱动型公司中被问到的精确问题模式,针对示例表编写并运行真实查询,直到每个模式都成为你的第二本能。

你将学到什么

你从面试官筛选的基础知识开始 — SELECT、列表达式、WHERE filtering 的陷阱、ORDER BY 配合 LIMIT,以及聚合函数。从那里你将掌握每种 join 类型和捕获大多数候选人的 GROUP BY / HAVING 陷阱,加上正确的 NULL 处理。这个轨道的核心是决定 offer 的内容:subqueries 和 correlated subqueries、CTEs 和 recursive CTEs,以及 window functions,包括 ROW_NUMBER、RANK、LAG/LEAD、running totals、top-N per group,以及经典的第 N 高薪资谜题。高级课程涵盖 gaps and islands、streaks、pivoting、cohort 和 retention analysis、funnel 和 A/B-test queries、用 EXPLAIN 进行 query optimization、indexing strategy、transactions 和 isolation levels,以及 schema design,最后还有完整的模拟面试。

学习路径

30 门课程从 A1 到 B2 循序渐进。前两门是免费的,涵盖 SQL 基础和 SELECT 基础知识。A1–A2 课程建立基础 — filtering、sorting、aggregation、每种 join 类型、grouping 和 NULL 处理。十门 B1 课程进入中级面试领域:subqueries、CTEs 和现代面试依赖的完整 window function 工具包。十门 B2 课程处理高级分析型 SQL — gaps and islands、streak 和 cohort analysis、funnel 和 A/B-test queries、performance tuning、indexing、transactions 和 schema design,以完整的模拟面试课程收尾。

工作原理

每门课程被分成短小的、动手实操的课程段,你在内置编辑器中完成,获得实时反馈和 AI 导师的帮助。你针对逼真的表编写并运行真实查询 — 不是多选题 — 所以每堂课都排练了你在真实面试中需要的思考和表达方式。

开始学习 →

你的学习方式

🎯
互动课程
实时反馈的动手编程练习
🤖
AI 导师
遇到困难时立即获得 AI 帮助
💻
内置编辑器
直接在浏览器中编写并运行代码
🏆
证书
完成课程后获得证书
课程

30 门课程

SQL Interview Prep 学习路径中的所有课程。

01

SQL 基础面试题

A14 节课

面试最常考的 SQL 基础知识,前五分钟就能筛掉候选人。掌握 SQL 的定义、查询的执行方式,以及面试官期待您了解的术语。

02

SELECT 与列表达式基础

A14 节课PRO

练习列投影、别名、计算表达式和 DISTINCT。涵盖容易让初级开发者出错的作用域规则。

03

WHERE 子句筛选陷阱

A14 节课PRO

经典筛选面试陷阱:运算符优先级、BETWEEN 边界、IN 与 OR 的区别,以及模式匹配。了解为什么看似正确的筛选条件会返回错误的行。

04

ORDER BY、LIMIT 与前 N 条问题

A14 节课PRO

练习排序和分页面试题,包括稳定排序、多关键字排序,以及跨数据库获取前 N 行的方法。

05

聚合函数面试练习

A14 节课PRO

在面试考察中掌握 COUNT、SUM、AVG、MIN、MAX 及其对 NULL 的处理方式。COUNT(*) 与 COUNT(列) 的区别是必考题。

06

INNER JOIN 入门

A24 节课PRO

面试官最先询问的连接操作。建立清晰的理解模型,掌握 INNER JOIN 如何匹配行、如何因重复值产生倍增,以及 ON 谓词应放在哪里。

07

LEFT、RIGHT 与 FULL OUTER JOIN

A24 节课PRO

外连接面试题:保留未匹配的行、查找缺失记录,以及面试官经常考察的反连接模式。

08

CROSS JOIN、SELF JOIN 与连接模式

A24 节课PRO

掌握那些容易让候选人意外的连接:笛卡尔积、表与自身连接,以及判断问题真正需要哪种连接。

09

GROUP BY 与 HAVING 面试陷阱

A24 节课PRO

分组是区分初级和中级开发者的面试环节。学习 GROUP BY 规则、HAVING 与 WHERE 的区别,以及非聚合列错误。

10

NULL 处理面试题

A24 节课PRO

NULL 是 SQL 面试中产生错误答案的首要原因。掌握三值逻辑、NULL 安全比较和 COALESCE。

11

深入理解子查询

B14 节课PRO

掌握面试官常考的标量、行和表子查询。了解每种子查询可以出现在哪里,以及何时子查询是最简洁的答案。

12

相关子查询

B14 节课PRO

学习每个外层行执行一次的子查询。识别、编写和改写相关子查询,是中级开发者面试的核心技能。

13

公用表表达式(CTE)

B14 节课PRO

使用 WITH 子句编写清晰、可复用的查询逻辑。面试官希望您能将嵌套子查询重构为整洁的 CTE。

14

递归 CTE 与层级结构

B14 节课PRO

使用递归 WITH 遍历树和图。组织架构、物料清单和数字序列生成,都是高级面试中的经典问题。

15

窗口函数:ROW_NUMBER、RANK、DENSE_RANK

B14 节课PRO

排名窗口函数是面试中考察最多的高级 SQL 主题。理解这三种排名函数在并列值上的不同结果。

16

窗口函数:LAG、LEAD 与 NTILE

B14 节课PRO

使用偏移和分桶窗口函数比较行,并将数据分配到不同层级。期间环比变化是分析师面试的必考问题。

17

累计总计与移动平均

B14 节课PRO

使用窗口框架子句执行累计和滚动计算。ROWS 与 RANGE 框架的区别,是面试官重点考察的中级知识。

18

每组前 N 条与去重

B14 节课PRO

使用窗口函数清晰解决两类高频面试问题:找出每个类别中的前 N 项,以及删除重复行。

19

第 N 高薪资与排名难题

B14 节课PRO

每位候选人都会遇到的面试题:先求第二高薪资,再求第 N 高薪资,并处理面试官补充的各种边界情况。

20

集合运算:UNION、INTERSECT、EXCEPT

B14 节课PRO

正确合并结果集。掌握 UNION 与 UNION ALL、列兼容性规则,以及使用集合运算比较数据集。

21

间隙与岛屿问题

B24 节课PRO

高级模式识别问题:找出连续区段及其间隙。这是 SQL 面试中体现高级水平的重要信号。

22

连续日期与连续时段分析

B24 节课PRO

解决连续登录日期、连胜记录等连续时段问题,以及 LeetCode 风格的连续三行问题。

23

透视与逆透视技巧

B24 节课PRO

在长格式和宽格式之间重塑数据。条件聚合透视和反向逆透视,是报表面试中的常见问题。

24

日期、时间与字符串面试题

B24 节课PRO

练习面试中常见的日期计算、截断和字符串处理,同时了解不同数据库中的函数名称差异。

25

队列与留存分析 SQL

B24 节课PRO

学习产品分析面试查询:构建用户队列、计算留存曲线,以及比较自连接和窗口函数方法。

26

漏斗与 A/B 测试分析 SQL

B24 节课PRO

掌握数据分析师面试中经常考察的事件漏斗转化和实验分析查询。

27

查询优化与 EXPLAIN

B24 节课PRO

阅读执行计划并解释查询变慢的原因,这是技术面试中区分高级候选人的关键。

28

索引策略面试题

B24 节课PRO

学习面试中的索引设计:哪些列应建立索引、复合索引的顺序、覆盖索引,以及索引何时会带来负面影响。

29

事务、ACID 与隔离级别

B24 节课PRO

并发面试题:ACID 保证、四种隔离级别,以及每种级别可以防止的异常。

30

模式设计、规范化与模拟面试

B24 节课PRO

数据库建模与完整模拟面试题合集。涵盖规范化、星型模式和端到端的问题解决。

常见问题

常见问题解答

SQL Interview Prep 课程免费吗?

免费。你可以免费开始 SQL Interview Prep 课程并完成它的所有互动课程。可选的 PRO 订阅解锁高级 AI 工具和可分享的证书。

学习 SQL 需要有先前的经验吗?

不需要。课程从基础开始,逐步进阶到更高难度的主题,所以即使你没有任何 SQL 基础也可以开始。

我在 CoddyKit 上怎样学习 SQL?

学以致用。简洁的互动课程将清晰的讲解与实时动手编程练习结合,24/7 AI 导师在你遇到困难时提供个性化帮助。

完成 SQL Interview Prep 后能获得证书吗?

可以。PRO 学员可以参加考试,获得 SQL Interview Prep 课程的可分享的完成证书,其中包含可验证的代码。

我能在手机上学习 SQL 吗?

可以。CoddyKit 支持网页版和原生 iOS、Android 应用,你可以在任何设备上学习 SQL,进度会自动同步。

立即开始 SQL Interview Prep

加入数千名学习者,通过 AI 驱动的课程掌握编程。

免费开始 →浏览所有课程