BaseHalf
全部文章

用 BaseHalf 和 AI 快速入门 SQL 查询

把本地 BaseHalf 画布当成 SQL 学习地图(笔记、PostgreSQL 文档链接和练习都是卡片),再让 Claude Code 或 Codex 根据你连上的文件讲解和出题。

我们想要一条短一点的 SQL 入门路径,不要从聊天粘贴或随手开的教程标签页开始。目标很窄:能在一个小 schema 上写出正确的 SELECT(含过滤、连接和简单聚合),再对照官方文档核对自己的答案。不是「成为 DBA」。

BaseHalf 已经有这些零件。普通文件夹打开就是画布,卡片就是文件,连线会把纯文本 upstream 写进目标文件。右侧 Agent Area 里开着 Claude Code 或 Codex,读你指给它们看的东西。我们把这套当成 SQL 查询的学习地图来用,而不是某个新的「学习模式」。

BaseHalf 里打开的项目文件夹:相连的笔记卡片,右侧 Agent Area 中是 Claude Code。

文件夹就是大纲

建一个文件夹,用 BaseHalf 打开,结构故意保持无聊:

sql-fundamentals/
  00-goal.md
  concepts/
    tables-and-rows.md
    select-where-order.md
    joins-inner-left.md
    group-by-aggregates.md
  schema/
    sample-schema.sql
  exercises/
    01-select.md
    02-join.md
    03-aggregate.md
  sources.md

00-goal.md 用一段话写清边界:这条路径结束时「完成」长什么样。sources.md 放你要对照核验的链接,从 PostgreSQL Tutorial Part I 起,尤其是 Querying a Table、Joins Between Tables 和 Aggregate Functions。若顺带看 Microsoft Learn 的 T-SQL 入门路径,记下方言差异;这个文件夹里以 PostgreSQL 文档为准。

在画布上把每道练习连到对应概念笔记和 sources.md。Git 看得到这些 upstream 列表,下一次 Agent 会话也看得到。

对着连上的文件提问

选中一张概念卡或一道练习,先看状态栏确认「这个」指什么,再在 Agent Area 里问。提示词绑在文件上,不要空喊「教我 SQL」:

  • 「根据这道练习的 upstream 笔记,解释 WHERE 和连接之后再过滤的差别。针对 sample-schema.sql 给一条错的、一条对的。」
  • 「只用 joins-inner-left.md 和 sources.md 里的 PostgreSQL join 教程链接,考我 INNER 和 LEFT JOIN。等我答完再公布你的答案。」
  • 「我把查询写在 exercises/03-aggregate.md 里了。对照 upstream 概念笔记里的 GROUP BY 规则检查,标出编造的函数。」

Agent 读你连上的文件,比记住三轮前你打的字更靠谱。关系写在文件里,下一会话开头就还在。

练习和验收标准

练习你应能做到验收
查询 / 过滤 / 排序单表 SELECT、WHERE、ORDER BY结果形状对得上 PostgreSQL select 教程里的例子
连接在明确键上写 INNER JOIN 和 LEFT JOIN仅 LEFT 保留左侧未匹配行;不会默默丢掉
聚合带 GROUP BY 的 COUNT / SUM / AVG聚合不进 WHERE;过滤分组用 HAVING

在本地 Postgres(或你已有的客户端)上跑每条查询。把结果贴回练习笔记。让 Agent 对照验收那一行,不要中途让它另起一套 schema。

AI 常踩的坑

把模型输出当草稿。我们反复看到的失误:

  • 需要保留未匹配行时用了 INNER JOIN,或反过来
  • 在 WHERE 里把 NULL 当成能用 = 比较的值(要用 IS NULL)
  • 把 T-SQL 或 MySQL 习惯带进 PostgreSQL(TOP、反引号、这边不存在的函数)
  • 编造助手函数(IFNULL、不存在的日期函数),而不是去读 sources.md 里的文档

当 Agent 和上面的 PostgreSQL 教程页冲突时,文档说了算。改概念笔记,而不是改文档。

这不是什么

这条路径不是可视化思考的元文章,BaseHalf 也不会替你自动生成知识图谱。你只是把普通的 Markdown 和 SQL 文件摆在画布上,连线让 upstream 进 Git,再让 Claude Code 或 Codex 根据这些文件讲解和出题。还是同一个桌面产品:文件夹当画布,连线写进文件,Agent 在右侧。

当 00-goal.md 和三道练习都能在不依赖 Agent「给最终答案」的情况下通过验收,这条路径就结束了。下一个领域用同样的办法:另一个文件夹,另一张地图,还是那些读你连线的 Agent。