Station Zero: a free SQL escape game

Station Zero is a free SQL game where you wake up on a dying space station and query your way out. The only system still running is CORA, the station computer, and the only way to talk to it is SQL. Every query you write runs against a real Postgres database in your browser. It starts at your first SELECT and ends at recursive CTEs. No signup, nothing to install.

By Owen Middleton Updated August 2026 Free to play, no account
Station Zero
Booting CORA

What SQL do you learn in each act?

Most SQL games stop at a join. Station Zero runs three acts, and the SQL gets genuinely harder in each one because the station gets harder to survive.

Act 1

Act 1: Triage (SELECT, WHERE, COUNT and DISTINCT)

You have no idea what is on this station. You find out by asking.

Act 2

Act 2: Investigate (INNER JOIN, LEFT JOIN and anti-joins, GROUP BY, HAVING, Subqueries)

Someone did this on purpose. The records know who, if you can join them.

Act 3

Act 3: Escape (Recursive CTEs, Window functions, Running totals, Correlated subqueries)

Three things stand between you and the pod. The clock is real.

What does playing it actually look like?

You work at a terminal on the station. CORA gives you a directive, the schema stays on screen, and you write real SQL against it. This is the opening beat: find the one crew member who is awake.

The Station Zero terminal: CORA's directive to find the awake crew member, the space_station schema, and a SELECT query being written against the crew table.

Below is one beat from Act 2 written out in full. Nothing is multiple choice and nothing is checked against stored text; the station answers with real rows.

CORA: The access log tallies badges, not people. Line them up against the manifest and give the movements faces.

SELECT c.name, a.sector
FROM access_log a
JOIN crew c ON c.badge_id = a.badge_id
ORDER BY a.ts
LIMIT 5;
namesector
Eli BrandtBridge
Nadia OkonkwoReactor
Tomas HaleSector 3
Lena PruittSector 3
Sol ReyesMedbay

Five of the rows this returns, from the station's real access log. The beat needs a column from each table, so a join is the only way to answer it.

How does the Station Zero SQL game work?

Every beat runs the same loop:

  1. CORA gives you a directive. A situation on the station that needs an answer out of the data.
  2. You write a query and run it against real Postgres, compiled to WebAssembly and running in your tab, so a query that works here is a query that works.
  3. You read the rows that come back and decide whether they answer the directive.
  4. You commit the query when you think it is right, and the story moves.

Grading checks the values you returned rather than the exact text you typed, so there is more than one correct way to write most answers. Where a beat is teaching a specific construct, it also checks you used that construct, because an answer that gets the right rows the wrong way has not taught you the thing the beat exists to teach.

When a query is wrong, CORA says what is wrong and why. Ask again and the help escalates: the system to look at, then the columns, then the shape of the answer, then the answer itself. You can take as much or as little of that as you want.

Who is this SQL game for?

People who have tried to learn SQL from a course and stopped. The first act assumes nothing, and the schema stays on screen, so a complete beginner can write the first query without preparation.

It is also for people who already write SELECTs at work and have never had a reason to learn window functions or a recursive CTE. Act 3 is that reason.

What if you get stuck?

Ask CORA. The advise ladder is not a penalty and nothing is scored on how much help you take. If the blocker is syntax rather than the puzzle, the concept links beside the game go to the full lesson, with runnable examples.

If a beat is genuinely unclear rather than hard, that is a bug in our writing and we would like to know.

SQL escape game questions

Do I need to know SQL to play?

No. The first thing CORA asks for is a plain SELECT, and the schema stays on screen the whole time. If you have never written a query, this is a reasonable place to write your first one.

Does my progress save if I close the tab?

Yes. Your progress through the beats is stored in your browser, so you can close the tab and pick up where you left off. The timed sections in Act 3 are the exception: those countdowns re-arm when you resume rather than continuing to run while you are away.

How is this different from the SQL Murder Mystery?

The SQL Murder Mystery is one case that needs a single join, and most people finish it in about 45 minutes. Station Zero runs three acts and keeps going past the point where the Murder Mystery ends, through anti-joins and aggregation to window functions and recursive CTEs. It also explains a wrong query, which the Murder Mystery does not.

Can I play it on my phone?

Not well. The terminal is built for a desktop screen and a keyboard, and you will be typing real SQL. Use a laptop or larger.

Learn SQL for free with SQLMaxx Learn. A complete online course that teaches you SQL from scratch: 66 concepts from zero to analyst-ready, 600+ real problems graded instantly, and algorithmic review that brings concepts back until you can write queries in your sleep.

Looking for more? We ranked every SQL game worth playing, including the ones that beat this one.