SQL Practice on a Real Database

The fastest way to get good at SQL is writing real queries against real data. These are real SQL problems in a live cloud workspace - aggregations, window functions, a slow report to speed up, a wrong join to fix - not multiple-choice flashcards.

Why a real database beats drills

Drills teach syntax; a real database teaches judgment - which join, why a query is slow, how to read an EXPLAIN. That judgment is what interviews and the job actually test.

18 challenges to practice

Add a NOT NULL Column With a Zero-Downtime BackfillBackend · SeniorBuild a Kimball Star SchemaData · SeniorReplace LIKE Search With Postgres Full-Text SearchFullstack · SeniorFix the N+1 QueryBackend · MidStop a Double-Charge Race ConditionBackend · MidBuild a Staging-to-Marts dbt ProjectData · MidImplement SCD2 With dbt SnapshotsData · MidImplement the Outbox Pattern (At-Least-Once)Data · MidPlug a Postgres Connection Pool LeakDevOps · MidIndex a Slow Postgres Search QueryDevOps · MidMake an App Wait for Postgres on StartupDevOps · MidMigrate a Postgres Database With Zero DowntimeDevOps · MidWire React to Supabase (CRUD + Realtime)Fullstack · MidRepair Broken API PaginationBackend · JuniorAdd a Health Check Endpoint in GoBackend · JuniorSwitch to Cursor-Based PaginationBackend · JuniorMake an ETL Pipeline IdempotentData · JuniorSpeed Up a Slow SQL Report QueryData · Junior

What to practice

Start with joins and aggregation, then window functions and query tuning - the parts that separate beginners from people who can own a database. Each one here is on real data.

Build your portfolio free. You are in a real cloud workspace in 30 seconds - fix real systems, show real work.

Start free →