SQL:每位数据专业人士都需要掌握的语言
SQL 是关系数据库的标准语言——用于在 PostgreSQL、MySQL、SQLite 以及几乎所有生产数据系统中存储、检索和转换数据。无论你是在构建后端 API、运行分析还是设计数据库架构,SQL 都是不可或缺的技能。本课程涵盖全面的内容,从你的第一条 SELECT 语句开始,一直到 PostgreSQL 特有功能,如 JSONB、窗口函数、PostGIS 和水平分片。
你将学到什么
你将从基础开始:创建表、用 WHERE 筛选行、用 ORDER BY 排序以及用 GROUP BY 聚合。从那里你将深入多表 JOIN 模式、子查询、CTE 以及使用 EXISTS、ANY 和 ALL 的相关子查询。高级主题包括窗口函数、使用 WITH RECURSIVE 的递归查询、GROUPING SETS、ROLLUP 和 CUBE、PostgreSQL 数组和 JSONB、触发器、存储过程、行级安全以及使用 PostGIS 的地理空间查询。课程以数据库管理员和架构师级别结束:大规模架构迁移、表分区、复制、高可用性、使用 VACUUM 和 ANALYZE 进行性能调优,以及用于水平扩展的分片。
学习路径
四十六门课程从 A1 到 C2 逐步进阶。前两门课程为完全初学者介绍数据库和关系概念。A1 和 A2 课程涵盖核心查询——SELECT 精通、筛选模式、聚合和 GROUP BY、多表查询:JOIN 基础,以及日期、字符串、空值和条件逻辑的处理。B1 课程进阶到窗口函数深入、子查询和 CTE、使用 WITH RECURSIVE 的递归查询和PostgreSQL JSON 和 JSONB。B2 涉及性能和生产问题:查询性能:EXPLAIN 和执行计划、索引策略、事务和并发控制以及行级安全和访问控制。C1 和 C2 课程以大规模架构迁移、大表分区、使用 PostGIS 的地理空间 SQL、事件溯源和时间表以及分片和水平扩展收尾。
工作原理
每门课程分为短小的、实践性的课程,你在内置的 SQL 编辑器中完成这些课程,并获得关于你的查询的实时反馈。当你遇到困难时,AI 辅导员随时可用,解释为什么查询返回意外结果或索引如何实际改变执行计划。