Tools
SQL playground
A real SQLite engine running in your browser, with the reference order-fulfilment database loaded. Nothing is sent anywhere; the whole engine is 700 KB of WebAssembly served from this folder, so it works offline and from a USB stick.
Two honest notes
Everything in Parts 1–3 of this course runs here unchanged. What does not:
DATEADD and friends (SQLite uses date() and strftime()),
OVER … RANGE INTERVAL, MERGE, PIVOT, real
EXPLAIN ANALYZE output, and anything about locking or isolation — SQLite has one
writer, so chapters 22 and 23 cannot be demonstrated here. Where a chapter needs a server
engine, it says so and gives you the Docker one-liner.
EXPLAIN QUERY PLAN tells you scan or search, and using which index. That
is genuinely enough to see the difference a sargable predicate makes, which is why it is here.
It is not a cost-based plan with row estimates and operators — for that you need PostgreSQL's
EXPLAIN (ANALYZE, BUFFERS) or SQL Server's actual execution plan, and
chapter 27 reads both.