// the find
liyupi/sql-mother
程序员鱼皮原创项目,免费的闯关交互式 SQL 自学教程网站,从零基础到进阶,带你掌握常用 SQL 语法(MySQL、SQLite、PostgreSQL)、快速学习 SQL 和数据库。支持在线SQL编辑器、实时查询结果、语法高亮、SQL运行广场等功能。纯前端实现,简单易学~
An interactive SQL learning site with 30+ levels, built entirely in the browser using sql.js (SQLite via WebAssembly). No backend — all SQL runs client-side. Aimed at Chinese-speaking developers, product managers, and data analysts who want to learn SQL through practice rather than reading.
The pure-frontend approach is genuinely clever: sql.js lets each level spin up a fresh SQLite instance, so there's no server to rate-limit you and no account required. The grading logic compares result sets rather than string-matching SQL text, so multiple valid queries pass. Level isolation is clean — each level is its own directory with a .sql schema file and a .md tutorial, making community contributions straightforward. The custom level system lets anyone add domain-specific exercises without touching the core curriculum.
It's SQLite-only despite the description claiming MySQL/PostgreSQL support — sql.js runs SQLite, so any MySQL- or Postgres-specific syntax will either silently behave differently or error. The curriculum stops at level 30 with no window functions, CTEs, or indexing concepts, which is where SQL gets genuinely hard. Progress is stored in localStorage via pinia-plugin-persistedstate, so clearing your browser wipes everything with no warning. The WASM binary is fetched from a third-party CDN (bootcdn.net) at runtime with no integrity check, which is a supply-chain risk if you're running this in a corporate environment.