SQL 道场
返回路线图

MODULE 8 / 冲刺

面试冲刺

LeetCode 式 SQL 高频真题,练套路与边界正确性。

面试冲刺:高频 SQL 真题套路

面试常考这几类套路,重点是边界正确性(空结果、并列、NULL)。

  • 第 N 高 / Top-N per group:dense_rank() OVER (PARTITION BY ... ORDER BY ... DESC),外层取 rnk <= N;并列用 dense_rank(不跳号)。
  • 连续出现 N 次:自连接 id+1 / id+2,或 gaps-and-islands。
  • 找重复:GROUP BY 列 HAVING count(*) > 1。
  • "从不…":NOT EXISTS 子查询,或 LEFT JOIN ... WHERE 右表 IS NULL。
  • 相邻比较:自连接,如天气按 rec_date = 前一天 + 1 比温度。

边界:第二高工资不存在时应返回 NULL;排名要分清 rank(跳号)/ dense_rank(不跳号)/ row_number(强制唯一)。

练习(8)

  1. 1.第二高的工资难度 3
  2. 2.连续出现三次的数字难度 4
  3. 3.重复的邮箱难度 2
  4. 4.从不下单的客户难度 3
  5. 5.部门最高薪员工难度 4
  6. 6.工资排名(dense_rank)难度 3
  7. 7.上升的温度难度 4
  8. 8.Boss:各部门工资 Top-2难度 5