SQL for product managers
If you already pull your own numbers with SELECT and WHERE, 3 of this subject's 26 skills are behind you and about 3 hours come off the estimate. Less than you hoped. What changes is not the length but the order: 5 skills are open to you today, and the ones that bite are about grain, not syntax.
- You type your own queries into a dashboard's query box rather than asking an analyst for every number.
- You can read a query somebody else wrote well enough to argue with the definition inside it.
- You have never had to prove that a total was not inflated by a join.
What you already have
You choose columns, filter rows and sort them already — that is what every question you type into a query box is made of.
Things you already do, under another name
You read averages and counts every week, so the functions themselves are familiar.
You already say per user per week in a spec, which is the hard half of grouping.
Saying the grain and proving it are different jobs. A result at the wrong grain looks exactly like a result at the right one — same columns, plausible numbers, no warning — and the only defence is being able to state what one row means and check that it does.
You define cohorts for a living; the retention curve in your review is one.
Defining a cohort is not building one. From a raw event log it means a first touch per person, a truncation to the period you care about, a join back to everything that happened later, and a decision about what counts as active — each of which can be wrong on its own.
You know what a wrong number costs in a review, which is the instinct behind checking one.
The instinct is not the method. Validating a result means knowing which totals have to reconcile, which row counts must not change across a join, and what order of magnitude you expected before you ran it.
The pivoted table in your weekly deck is conditional aggregation with a different name on it.
A spreadsheet builds those columns from whatever it happens to find. In a query you name every column in advance, which forces a decision the sheet made for you: what happens to a category that first appears next month.
Open to you today
- NULL semanticsPredict and control how NULLs affect a filter, a join and an aggregate
- Data types and castingCast between types deliberately and avoid silent integer-division and timezone errors
- Aggregate functionsAggregate a column correctly, knowing which functions skip NULLs
- Inner joinsJoin two tables on the correct key and predict the shape of the result
- SubqueriesUse a subquery in the right position to compute an intermediate result
What none of this covers
- foundations
- aggregation
- joins
- composition
- windows
- analysis
- performance
Briefs you could not hand in today
Sources, and what each is worth
Questions that come with this one
Do I need to know any SQL to take the check?
No, and it needs no account. It adapts as you go — if the early questions are easy it stops asking them, and if they are not it stops guessing and tells you where you actually are. SQLBolt is a decent way to test the same ground yourself first.3
How is this different from the ordinary subject page?
Same skills, same graded briefs, same marking checklists. What differs is the order and the starting point — this page names what we would skip for you and what we would not, and the check is what settles whether we were right about you in particular.
Why is so little of it skippable?
Because reading a number and producing one are different skills. The parts of this subject that go wrong quietly — grain, missing values, a join that inflates a total — are invisible from a dashboard, which is exactly why the estimate does not shrink much.
What if I already know more than this page assumes?
Then the check says so and the path gets shorter. Everything here is a hypothesis about you rather than a finding, and nothing in the product acts on it until you have answered questions that settle it.
Find out which half of this is true
Everything above is what we would assume about product managers. The check asks you instead — it adapts as you answer, needs no account, and what it settles carries into the path if you build one.
Take the SQL & Data Analysis check