Loading…
Loading…
Loading…
// query the unknown · solve the mystery
Play free SQL games online — run real PostgreSQL in your browser, solve mysteries, and go from beginner to advanced.
// SELECT YOUR MISSION
VINEYARD SABOTAGE
Frost protection went dark on three blocks in one night, and a fortune in grapes was lost. Find out who disabled the sensors.
MUSIC INDUSTRY
A songwriter's royalties don't add up. Follow the payment trail through approvals and overrides to expose who's skimming the money.
SHELL COMPANY FRAUD
A shell company chain hides who really owns a federal contract -- and why they're not allowed to.
MARATHON DOPING
A new course record just fell -- but the real story is who else got flagged. Follow the blood test back to a banned supplier.
AUCTION FRAUD
Millions in counterfeit wine just sold at auction under everyone's nose. Trace the appraiser who kept signing off on fakes.
CRYPTO FRAUD
A token just crashed 98% in a single day. Follow the liquidity to the wallet that pulled the plug.
CORPORATE COVER-UP
Brakes are failing on the road, and the batch had already failed inspection once. Find out who overrode the warning and shipped it anyway.
ESPORTS SCANDAL
A heavy favorite just lost the biggest match of the season. Follow the betting spike and the payment trail to name the fixer.
ACADEMIC FRAUD
A failing student's transcript doesn't match his exam scores. Follow the money to find out why.
MARITIME MYSTERY
Six guests dined at the Captain's Table. Four are in the infirmary. Trace the poisoned dish back to the galley.
TOURNAMENT FRAUD
A fishing tournament's top angler keeps winning on the same dock -- and the scale tells a different story than the leaderboard.
CHESS SCANDAL
A club champion's rating mysteriously craters right before a bracket cutoff. Follow the losing streak to find out why.
PRODUCT SAFETY COVER-UP
A product keeps shipping well past the point it should have been pulled from shelves. Find out who kept signing off.
SMUGGLING INVESTIGATION
Cargo keeps arriving mislabeled, and what's inside is illegal. Trace the shipments back to the exporter running the operation.
INSPECTOR BRIBERY
A building burns down holding a fire safety certificate that was never actually inspected. Trace it back to the inspector.
ELECTION FRAUD
A student council election just ended in an impossible landslide. Trace the ghost votes back to the device that cast them.
// FAQ
SqlInt's SQL puzzle games teach SQL through stories: investigate crimes, recover ancient artifacts, and save civilizations using nothing but queries. Each story runs on real PostgreSQL inside your browser — read the chapter, write SQL, run it, and unlock the next twist. Start free with no signup, from your first SELECT to window functions and CTEs.
Yes. Every SQL puzzle story starts free with no signup — you can read the story, see the schema, and try the first chapters in your browser. Advanced stories and later chapters are part of the paid challenge packs.
No account is needed to browse every puzzle story and preview its schema. A free account is required to run queries and save progress; logging in keeps your solved chapters synced across devices.
Real PostgreSQL, running entirely in your browser via PGlite — no server, no setup. The JOIN, CTE, window-function, and subquery skills you learn transfer directly to SQLite, MySQL, and SQL Server.
Yes — that is what they are built for. Stories start with basic SELECT and WHERE and progress chapter by chapter to JOINs, aggregations, CTEs, and window functions, each with hints. If you prefer a structured curriculum first, start with the Learn SQL Roadmap, then come back and play.
Puzzles teach SQL through story-driven games where each chapter builds on the last — ideal for learning SQL from scratch. Interview questions are standalone real-world problems for practice and preparation. Many learners play a puzzle story first, then drill the interview question bank.
Yes. Once you are logged in, solved chapters and attempts are saved to your account automatically, so you can switch devices and continue the story where you left off.