Free · Browser-only · No install

Learn SQL,
by writing it.

200+ hands-on challenges. An AI Coach that explains why your query is wrong instead of just saying "incorrect." A 6-step path from your first SELECT to interview-ready window functions. Free, in your browser.

Start Learning Free → See the 6-step path ↓

First working query in under 60 seconds · No signup required

Why this works

You don't learn SQL by watching SQL.

Every beginner has the same experience. Finish a Udemy or Coursera course feeling great. Sit down at work to write a real query. Freeze. The syntax was familiar in the video and gone the moment you needed it cold.

The fix isn't "more videos." It's writing queries — wrong ones, mostly — until your fingers know the patterns without conscious thought. SQL Quest is built for that loop: you write, you submit, you get a specific explanation when something breaks, you try again. Every session, the AI Coach remembers what tripped you up last time.

The Path

From zero to interview-ready, in 6 steps

Roughly 4 weeks at 30 minutes a day for the basics. 8-12 weeks if you want interview-ready window functions. The Coach adapts — if you already know a step, it skips you ahead.

Step 1 · Day 1

Write your first SELECT in 60 seconds

Open SQL Quest, take the 5-question placement check, and let the Coach pick a starter challenge for your level. The first query is the dopamine hit that gets you back tomorrow. No install, no signup, no DBeaver setup. The grader runs entirely in your browser using a WebAssembly build of SQLite.

Steps 2-3 · Days 2-10

Filtering, sorting, and aggregation

WHERE, ORDER BY, COUNT, SUM, AVG, GROUP BY, HAVING. These cover roughly 70% of the SQL most analysts write at work. Drill until "how many X grouped by Y, sorted by Z" is muscle memory.

Step 4 · Days 11-17

Every JOIN type, including the weird ones

INNER vs LEFT vs RIGHT vs FULL vs CROSS vs SELF. Anti-joins. Multi-table joins with a chain of ON conditions. Most courses spend 10 minutes here and move on. That is the single biggest reason new learners freeze on real schemas. Spend a real week.

Step 5 · Days 18-24

Subqueries, CTEs, and CASE WHEN

When a query needs more than one step, you have two tools: subqueries (older, terser, harder to read) and CTEs (newer, much more readable, prefer these). Recursive CTEs unlock graph and tree problems. CASE WHEN is the conditional "if-else" of SQL — once it clicks, you can express almost any business rule, from tier classification to revenue bucketing.

Step 6 · Days 25-42

Window functions cold

ROW_NUMBER, RANK, DENSE_RANK, LAG, LEAD, running totals, rolling averages, top-N per group, cohort retention, sessionization. Window functions appear in roughly 80% of mid-to-senior data interviews and they take longer to internalize than beginners expect. This is where most learners under-practice. Don't.

Start Step 1 — Free →
Your first query

Here's exactly what you'll write on day one

The Coach picks a starter challenge based on the placement quiz. For most learners that's the Titanic dataset — a real historical record of every passenger, what class they travelled, and whether they survived. Here's a query you'll likely write in your first 10 minutes:

-- Find the 3 oldest survivors who travelled in 1st class
SELECT name, age, class
FROM passengers
WHERE survived = 1 AND class = '1st'
ORDER BY age DESC
LIMIT 3;

Five clauses. SELECT the columns you want, FROM the table, WHERE the condition matches, sort with ORDER BY, cut to top N with LIMIT. That pattern alone gets you through the first week.

What happens when you get it wrong

Every other SQL site says "incorrect, try again" and leaves you guessing. SQL Quest runs a structured wrong-answer diagnosis: "You returned 4 rows; expected 3. Check your LIMIT." Or: "Sort order is wrong — you're getting youngest first; the prompt asked for oldest, which means DESC, not ascending." Specific, actionable, and you can ask the AI Coach to elaborate.

Watch out

5 mistakes that stall most beginners

From three years of watching learners 1-on-1 (Preply, Discord, in-app DMs). Knowing these in advance saves you weeks.

Mistake #1

Watching 20 hours of video before writing line one

Tutorials feel productive — you're "learning." But you retain almost nothing until you produce it cold. Write your first query before hour one of any course.

Mistake #2

Skipping JOIN practice

Most courses cover JOINs in 10 minutes and move on. Then you sit at work staring at three tables and can't construct the chain. Spend a real week on multi-table queries before anything else.

Mistake #3

Treating NULL like an empty string

column = NULL is silently false. Every time. Learn IS NULL, COALESCE, and how aggregates handle NULL on day one. Most "wrong answers" in interviews are NULL bugs.

Mistake #4

Memorizing window functions instead of practicing them

Window functions are pattern-recognition. Watching a video about ROW_NUMBER will not get you ready. You need to solve 30+ problems where you have to choose between RANK, DENSE_RANK, ROW_NUMBER, LAG, LEAD on the spot.

Mistake #5

Practicing only on toy "employees and departments" tables

Real data has weird date formats, inconsistent strings, deeply nested schemas, and lots of NULLs. Practice on real public datasets — FDIC bank data, NYC OpenData property records, manufacturing sensor logs — so the production environment isn't a shock.

Reality check

How long does it actually take?

Honest numbers, not marketing numbers. The variable that matters most isn't talent — it's whether you write queries cold versus only watching them.

Goal: data analyst at work

4-6 weeks

30 minutes a day. SELECT through GROUP BY through basic JOINs through CASE WHEN. Enough to be productive on a real analytics team.

Goal: pass an interview

8-12 weeks

Add window functions, complex CTEs, and 50+ company-specific drills. Window functions are where most candidates fall short — give them real time.

Goal: pass a senior screen

3-4 months

150+ problems plus reasoning about query plans, indexing, and data modeling. The bar at Meta, Stripe, and Databricks is genuinely high — plan accordingly.

Real data, not toy tables

Learn SQL on schemas your future job uses

Three industry tracks built on real public datasets. The schemas have NULLs, quirky date formats, and the joins your real job will require.

Already started?

Pick your starting point

If you've already done some SQL, the Coach skips what you know and routes you to the gaps.

Frequently Asked Questions

Stop watching SQL.
Start writing it.

200+ challenges. AI Coach by Claude. 7-day Pro trial on signup, no card. First working query in under 60 seconds.

Launch SQL Quest — Free ⚡

Works on Chrome, Firefox, Safari, Edge · No plugins · No downloads