Learn SQL on a real database.Real Postgres. Real result checking. No videos.
Three courses that take you from SELECT and joins to query plans and production tuning. Every exercise runs your query against a real PostgreSQL database and checks the results deterministically — so “it works” is never a vibe. Not a toy sandbox with three rows in it.
-- Rank each customer's orders by amount, most recent tiebreak.
-- This runs against a real Postgres database — your result set
-- is checked row-for-row against the expected output.
SELECT
customer_id,
order_id,
amount,
RANK() OVER (
PARTITION BY customer_id
ORDER BY amount DESC, ordered_at DESC
) AS amount_rank
FROM orders
WHERE ordered_at >= now() - interval '90 days';SQL Fundamentals
Query real Postgres databases with confidence — SELECT, filtering, joins, aggregation, subqueries, CTEs, and window functions.
Designing Databases
Write data safely and design schemas that make invalid states impossible — INSERT/UPDATE/UPSERT, types, constraints, normalization, transactions, isolation, and locks.
Production PostgreSQL
The production tier — indexes, query plans, migrations, transactions from app code, tuning, and backups. The database skills every backend engineer needs.
The database decides, not vibes
Your queries run against real PostgreSQL databases with deterministic result checking. Pass/fail is the actual result set — the AI never grades you.
It adapts to you
Struggle on a concept and the game diagnoses why and builds targeted practice. Already fluent in joins? It moves you up instead of making you sit through it.
Do the real job
Capstones like a cohort retention report, seat booking under concurrency, and a slow-database rescue — the answer to tutorial hell. Ship skills you use at work, not just streaks.
Your first passing query is minutes away.
Start the SQL track — freeFree tier is genuinely free — every banked exercise is playable. We gate AI help and fresh generation, never the content.