Sign in to train
Product Dojo is a members' platform. Sign in to open the lessons, clear stages, and earn the certificate for each one. Your rank and credentials stay with your account across every device you use.
Free to join, through GitHub, Google or LinkedIn. No password to set.
Checking your account…
Choose Your Stage
Four worlds. Twenty-two stages. A real database, running in this tab.
Every stage is a lesson you read, a lab you type queries into, and one graded assignment that decides whether the stage clears. Nothing to install. Stages open in order, because each one leans on the last — and clearing all 22 earns the SQL Practitioner certificate.
Reading Data
6 StagesEverything you need to pull exactly the rows and columns you want out of a table: selecting, filtering, sorting, de-duplicating, the NULLs that break a naive filter, and the CASE expression that buckets rows into categories. No prior database experience assumed.
SELECT & FROM
Read a table, choose the columns you want, and meet the practice database you will be querying for the rest of the dojo.
2Filtering with WHERE
Cut a table down to the rows that matter, combine conditions without getting the logic wrong, and use IN, BETWEEN and LIKE.
3Sorting & Limiting
Control the order rows come back in, break ties on purpose, and take the top of a list — or a window out of the middle of it.
4DISTINCT, Aliases & Expressions
De-duplicate a column, compute new columns from existing ones, and name every output so the result reads for itself.
5NULL and Three-Valued Logic
The value that is not a value: why = NULL never matches,
how NULL spreads through a calculation, and how to substitute it.
CASE Expressions
SQL's if-statement. Bucket rows into named categories, get the branch order right, and never forget the ELSE.
Summarising
In the worksCan turn rows into numbers: counts, sums and averages, grouped by any dimension, filtered after the fact, and sliced by time.
- 2-01 COUNT, SUM & AVG
- 2-02 GROUP BY
- 2-03 HAVING & Filter Order
- 2-04 Working with Dates
- 2-05 Text & Number Functions
Combining
In the worksCan bring several tables together without losing or duplicating rows, and knows when a subquery, a CTE or a join is the right shape.
- 3-01 INNER JOIN
- 3-02 LEFT JOIN & Missing Rows
- 3-03 Joining Three Tables
- 3-04 Self Joins & UNION
- 3-05 Subqueries
- 3-06 Common Table Expressions
Analyst SQL
In the worksCan rank, compare a row to its neighbours, build running totals, express a funnel or a retention cohort in SQL, and change data safely.
- 4-01 Window Functions
- 4-02 Running Totals, LAG & LEAD
- 4-03 Funnels & Cohorts
- 4-04 INSERT, UPDATE & DELETE
- 4-05 Capstone: The Monthly Report