Ask your dataand watch it answer.
- 01 · Read
Each lesson is one idea, explained in a few short paragraphs — no walls of theory.
- 02 · Do
Type into a live environment and watch it react. Tab completes, ↑ recalls,
undotakes back any step. - 03 · Match
Reach the goal any way you like — you're judged on the result, not the keystrokes. Par is the shortest route.
Asking questions
SELECT, WHERE, ORDER BY and LIMIT — reading exactly the rows you need.
- 01 Your first query SELECT and FROM — reading a whole table.
- 02 Filter with WHERE Only the rows you need, only the columns you need.
- 03 Sort and limit ORDER BY and LIMIT — the top three of anything.
- 04 Combine conditions AND, OR, IN and parentheses.
- 05 DISTINCT, and the trouble with NULL Each value once, and the value that isn't one.
Joining tables
Combine rows from related tables, and keep the ones that don't match.
Summarising
COUNT, SUM and AVG, GROUP BY and HAVING — turning rows into answers.
Changing data
INSERT, UPDATE and DELETE, and transactions that keep them safe.
Speed
Indexes, and reading the query plan to prove they're used.
This is the genuine SQLite engine compiled to WebAssembly, so every query behaves exactly as it would in a SQLite file. Other databases (PostgreSQL, MySQL) differ in small details, which the lessons point out.