学 SQL: 数据库与查询
学 SQL: 数据库与查询 — 一门每条查询都能在手机上运行的 SQL 课程
学 SQL: 数据库与查询 是一款免费的 iOS 和 Android SQL 课程,以手机上的真实数据库为基础:输入语句,点击运行,然后读取返回的行。46 门课程和 183 节课从第一个 SELECT 一直讲到窗口函数、索引和 PostgreSQL,并配有 SQL 编辑器、十种名为 Arena 的练习模式,以及一位专门帮助你解决返回过多行的连接查询的 AI 导师。
- 价格
- 免费,可升级至 Pro
- 平台
- iOS 和 Android
- 语言
- 22
- 年龄分级
- 4+
- 需要
- iOS 15.1 或更高版本
- App Store
- 5.0 ★ (1)


数据库就在手机上,而不是藏在服务器后面。
SQLite 会在设备上运行你的语句,而需要 PostgreSQL 语法的课程也会直接在设备上的 PostgreSQL 中运行。不必等待网络往返,你创建的表在下次打开应用时仍然存在。
这是什么
学 SQL: 数据库与查询 是一款免费的 iOS 和 Android 应用,通过让你在手机上的真实数据库中运行查询来教授 SQL。它以 46 门课程和 183 节课组成 SQL 课程体系,从 SELECT、WHERE 和 ORDER BY,讲到连接、子查询和窗口函数,再到索引、事务和 PostgreSQL 管理;此外还提供 SQL 编辑器、预置练习表、每日查询、引导式数据库项目、练习游戏和 AI 导师。
应用内
界面展示





课程
SQL 课程涵盖哪些内容
46 门课程和 183 节课,内容取自应用自身的课程列表:从第一个 SELECT,一直到索引、复制和分片。
表、SELECT 和排序
SQL 与数据库入门、SQL 基础:表、行、列、SELECT 精通,以及使用 ORDER BY、LIMIT 和 Top-N 对结果进行排序。
筛选、聚合与连接
筛选模式、聚合与 GROUP BY,以及多表查询:JOIN 基础——日常报表查询背后的三大核心概念。
日常数据处理
处理日期和时间、字符串函数与文本搜索、处理 NULL、使用 CASE 进行条件逻辑、数字与数学运算,以及 DISTINCT。
修改数据与设计表
实用的 INSERT / UPDATE / DELETE、约束与数据完整性,以及第一个数据库设计项目。
子查询、CTE 与窗口函数
子查询与 CTE、窗口函数深入解析、集合运算与透视模式、高级 JOIN 模式,以及 EXISTS、ANY、ALL 与相关子查询。
PostgreSQL 功能
PostgreSQL JSON 与 JSONB、视图与物化视图、使用数组、通过 WITH RECURSIVE 编写递归查询,以及 GROUPING SETS、ROLLUP 和 CUBE。
性能与事务
查询性能:EXPLAIN 与规划、索引策略、事务与并发控制、高级索引与搜索,以及 VACUUM、ANALYZE 和统计信息。
大规模运行数据库
触发器与存储过程、行级安全、备份与恢复、模式迁移、分区、复制、数据仓库与星型模式,以及分片。
工作原理
一次练习如何进行
一次练习从需要解答的问题开始,而不是从需要阅读的内容开始,让理解概念和动手输入同步进行。
从今日查询或课程开始
打开 Daily Query,每天编写一条会根据手机上数据进行检查的语句,或者继续学习上次停下的课程。
运行示例,然后修改它
简短的说明会配有带运行按钮的示例。打开编辑器,修改语句并运行,然后阅读结果表,或者使用 EXPLAIN 查看执行计划。
想换一种练习方式时,使用 Arena
侦探案件、对决、修复挑战和 60 秒 Rush 游戏会把同样的技能变成短小的挑战;当答案看起来不合理时,AI 导师会解释错误答案的问题所在。
包含内容
应用包含的内容
46
门课程和 183 节课
学习路径从初学者(A1)一直延伸到高级数据库主题(C2):选择和筛选、聚合、连接、子查询、CTE、窗口函数、索引、事务以及 PostgreSQL 专属课程。大多数课程教授标准 SQL。
设备端运行
手机上的真实数据库
SQLite 会在设备上运行你的代码,PostgreSQL 课程也会在设备上运行 PostgreSQL。无需与服务器往返通信,你的表会在不同练习期间保留。
编辑器
SQL 编辑器和沙盒
编写任意语句、浏览架构、从历史记录中重新打开之前的语句,并使用 EXPLAIN 查看执行计划。用户、订单、产品、员工和销售等练习表已准备就绪。
Arena
十种练习模式
Data Detective 案件、数据集包、Duel、Golf(用更低成本的执行计划返回相同行)、Fix It、Drills、Schema Designer、Interview Simulator,以及 60 秒 Rush 游戏。
20
引导式数据库项目
项目根据查询返回的结果进行检查,而不是根据你输入的文本检查,因此不同但正确的答案同样可以通过。此外还有 30 个任务,分为简单、中等和困难级别。
AI
AI 导师
询问为什么连接会返回过多行,或者某个子查询在做什么。导师会解释出错原因以及修复方法,免费用户每天可获得一定数量的问题额度。
背景
什么是 SQL?不搭建数据库服务器,如何练习 SQL?
SQL(Structured Query Language,结构化查询语言)是用于查询表中存储的数据并修改这些数据的标准语言。几乎所有分析师岗位、后端工作和报告工具都会用到它,因此它是较适合尽早学习的可靠技能之一。初学者通常遇到的障碍不是语言本身,而是环境搭建:安装服务器、加载示例表,还要找地方输入代码。直接在手机上运行一个小型数据库可以省去这些步骤,让你在第一分钟就能执行第一条查询,也能利用任何空闲的十分钟进行练习。
声明式,而不是逐步执行思维方式的转变
在 SQL 中,你描述想要的结果,例如每位客户最近的五笔订单,然后由数据库决定如何得到这个结果。以前接触过其他语言的学习者往往会期待编写循环,而最快的进步方式是学会直接说明想要哪些行。
连接大多数初学者卡住的地方
数据之所以分布在不同表中,是有意为之的;连接会通过共享键将它们重新组合起来。连接条件写错后,可能会悄无声息地返回多得多的行,因此在语句旁边查看结果表和阅读语法说明同样重要。
NULL不是零,也不是空
NULL 表示某个值未知,而任何值与 NULL 比较时,结果既不是真也不是假。这一条规则就能解释筛选和计数中许多令人意外的结果,值得单独用一节课讲解,而不是只放在脚注中。
方言:SQLite 和 PostgreSQL核心相同,扩展不同
SELECT、JOIN 和 GROUP BY 的核心在不同数据库系统之间是共通的,但 JSONB、数组以及部分窗口函数和日期函数等功能会有所不同。先学习标准核心,再接触某一种方言的扩展,有助于让所学知识保持通用性。
是否适合
适合哪些人——不适合哪些人
如果你符合以下情况,就很适合
- 从零开始学习 SQL,并希望从第一课起就看到查询结果
- 使用电子表格或报表,希望自行提取数据,而不是等待别人提供
- 希望在已有知识的基础上,进一步学习连接、索引和 PostgreSQL 的开发者
- 正在准备 SQL 面试题,希望进行计时练习并在最后获得报告
- 希望利用一天中的零碎时间学习,并进行适合手机的练习
如果你符合以下情况,这不是适合你的工具
- 需要从应用连接到自己的公司数据库,因为练习数据库位于手机上
- 以为所有课程和模式都免费:第一门课程及每种 Arena 模式的部分内容免费,Pro 可解锁其余内容
- 想要专门针对 MySQL 或 SQL Server 的课程,因为这些课程使用标准 SQL,并包含 SQLite 和 PostgreSQL 功能
- 已经在管理生产数据库,希望要的是参考手册,而不是课程
问题
常见问题
在手机上练习 SQL 的最佳方式是什么?
当查询能够真正运行时,练习效果最佳,因此应选择一款编辑器背后连接着真实数据库的工具。学 SQL: 数据库与查询 会在设备上运行 SQLite,也会在设备上运行 PostgreSQL 课程,并提供现成的练习表、每日查询和十种 Arena 模式。你只需输入内容、点击运行,然后阅读结果表,而不是只阅读相关介绍。
要跟着课程学习,需要安装数据库或服务器吗?
不需要。学 SQL: 数据库与查询 将数据库引擎集成在应用内,因此无需安装、配置或连接任何东西。你的表会在不同会话之间保留,编辑器还允许你浏览模式,并从历史记录中重新打开之前的语句。
这是面向完全初学者的 SQL 课程吗?
是的。学习路径从数据库和表是什么开始,然后依次学习 SELECT、筛选和排序,再进入连接与聚合。课程等级从 A1 到 C2,因此掌握基础后,同一个应用还会继续带你学习窗口函数、索引和数据库管理。
这个应用会教 MySQL、PostgreSQL 还是 SQLite?
大多数课程教授标准 SQL,这些知识稍作差异即可迁移到 MySQL 和其他系统。练习数据库使用 SQLite,高级课程则使用 JSONB、数组、物化视图和行级安全等 PostgreSQL 功能。如果你需要的是另一个系统独有的语法,请查阅其文档了解具体细节。
什么是 Arena?
Arena 是 学 SQL: 数据库与查询 内置的一组练习模式:Data Detective 案例、数据集包(电影、足球比赛、专辑、天气)、Duel、Golf、Fix It、Drills、Schema Designer、Interview Simulator,以及 60 秒 Rush 游戏。以 Fix It 为例,它会显示一条能够运行但返回错误行的语句,并逐行比较你的结果。
可以用它准备 SQL 面试吗?
可以。学 SQL: 数据库与查询 提供面试题和 Interview Simulator,会提出五道限时题目及一道追问,然后生成报告。Golf 和 Fix It 模式还会训练面试官喜欢考查的两项能力:更高效地写出相同结果,以及找出查询返回错误行的原因。
可以用自己的数据进行练习吗?
你可以在 Arena 中导入 CSV 或 JSON 文件,并使用查询探索其中的数据。将结果导出为 CSV 是 Pro 功能。数据会保留在手机上的数据库中,因此应用完全不需要连接到你的自有系统。
学习 SQL 需要多长时间?
SELECT、WHERE、GROUP BY 和基础连接的核心内容,通过几周的每日短时练习即可掌握,而这已经足以应对大多数报表问题。子查询、窗口函数和索引需要更长时间,因为它们都建立在这些核心知识之上。学 SQL: 数据库与查询 会按这一顺序安排课程,并通过连续学习记录和每日查询帮助你保持习惯。
学 SQL: 数据库与查询 免费吗?
它可以在 App Store 和 Google Play 免费下载。免费版本包含第一门课程、其他每门课程的预览内容、编辑器和沙盒、每日查询、一个引导式项目、两个任务、每种 Arena 模式的部分内容,以及每日 AI 导师使用额度,并会显示广告。Pro 可解锁全部课程、项目和任务、完整 Arena、证书考试和无限 AI 导师使用权限,同时移除广告。
支持哪些平台和语言?
学 SQL: 数据库与查询 可通过 App Store 在 iOS 上运行,也可通过 Google Play 在 Android 上运行,应用支持 22 种语言。应用的年龄分级为 4+。这是一个独立应用,与 PostgreSQL Global Development Group 或 SQLite 项目没有关联。
更多 CoddyKit 产品
可在 iOS 和 Android 上使用。