在真实的数据库客户端里学 SQL

本课程会在数据库客户端中直接运行示例。示例商城数据库含 23 张表、约五万行数据,因此可以用真实数据观察连接和 GROUP BY 的结果。

大多数例子下面都有 在 Planche 中运行 按钮。点击后会打开已载入示例数据库和查询的应用。无需安装或注册,数据只在浏览器中处理。

基础路线

  1. 数据库长什么样 表、行、列、NULL、主键、运行一条查询
  2. 读取数据:SELECT、WHERE、ORDER BY、LIMIT SELECT、选择列、WHERE、ORDER BY、LIMIT、列别名
  3. 筛选行:完整的 WHERE AND / OR 优先级、IN、BETWEEN、LIKE、IS NULL
  4. 把表拼起来:JOIN INNER JOIN、多表连接、LEFT JOIN、ON 与 WHERE、自连接
  5. 汇总行:GROUP BY COUNT、SUM、AVG、MIN、MAX、GROUP BY、HAVING、COUNT DISTINCT
  6. 查询里的查询:子查询 标量子查询、IN、EXISTS、NOT EXISTS、派生表、相关子查询
  7. 分步骤的查询与跨行计算:CTE 和窗口函数 WITH、串联 CTE、ROW_NUMBER、RANK、DENSE_RANK、SUM OVER、LAG
  8. 修改数据:INSERT、UPDATE、DELETE INSERT、UPDATE、DELETE、主键冲突、BEGIN / COMMIT / ROLLBACK
  9. 为什么这么慢:索引和 EXPLAIN EXPLAIN QUERY PLAN、全表扫描、索引查找、能用上索引的条件

各方言写法