SQL 专题:语法基础、查询、聚合、连接、子查询与常见面试题
约 923 字大约 3 分钟
SQL 是后端开发绕不开的数据库基本功。无论后续学习 MySQL 索引、执行计划,还是做慢 SQL 优化,都需要先把查询、过滤、聚合、连接、子查询和数据修改这些基础语义掌握扎实。
适合谁看
- 正在学习数据库基础和 SQL 语法的后端开发者。
- 准备 SQL 基础、SQL 查询题、数据库 CRUD 相关面试题的同学。
- 写过简单 SQL,但对 JOIN、GROUP BY、HAVING、子查询和执行顺序不够熟的读者。
- 想在学习 MySQL 索引和 SQL 优化前补齐 SQL 基本功的工程师。
学习重点
- SELECT、WHERE、ORDER BY、LIMIT、GROUP BY、HAVING 的职责和执行顺序如何理解?
- INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、子查询分别适合哪些场景?
- 聚合函数、分组统计和条件过滤如何组合使用?
- INSERT、UPDATE、DELETE 写法中有哪些容易忽略的边界?
- 面试中的 SQL 题应该如何从表关系、过滤条件、聚合维度和排序分页拆解?
建议阅读顺序
- SQL 语法基础知识总结:先系统掌握 SQL 的基本语法和常见操作。
- SQL 常见面试题总结(1)、SQL 常见面试题总结(2):练习基础查询、排序、聚合和常见函数。
- SQL 常见面试题总结(3):继续补充连接、子查询和复杂查询思路。
- SQL 常见面试题总结(4)、SQL 常见面试题总结(5):通过更多题目巩固查询拆解能力。
- 学完 SQL 基础后,建议继续阅读 MySQL 专题,把 SQL 写法和索引、执行计划结合起来。
核心文章
- SQL 语法基础知识总结:覆盖查询、过滤、排序、聚合、分组、连接、子查询、插入、更新、删除和约束等基础语法。
- SQL 常见面试题总结(1):通过基础题目熟悉查询、排序和简单过滤。
- SQL 常见面试题总结(2):继续练习函数、字符串处理、日期处理和常见查询写法。
- SQL 常见面试题总结(3):适合用来训练多表查询、分组统计和子查询拆解。
- SQL 常见面试题总结(4):补充更多常见 SQL 面试题和解题思路。
- SQL 常见面试题总结(5):进一步巩固 SQL 查询题的综合应用能力。
高频问题
- SQL 查询语句的逻辑执行顺序是什么?
- WHERE 和 HAVING 有什么区别?
- INNER JOIN 和 LEFT JOIN 有什么区别?
- UNION 和 UNION ALL 有什么区别?
- COUNT(*)、COUNT(1)、COUNT(列名) 有什么区别?
- 子查询和 JOIN 应该如何选择?
- GROUP BY 后为什么只能选择分组列或聚合结果?
- 分页查询有哪些常见写法?
- UPDATE 和 DELETE 为什么一定要谨慎带过滤条件?
- SQL 题应该如何根据表关系拆解?
