The leader track π€ Β· for C-level, managers & curious minds Β· 6 x 45 min Β· no code to write
Thinking mode: what SQL is, how to read a query, how to judge a data claim, and how to brief an analyst - each session ends with questions to ask your data team.
What SQL actually is
Databases as organized tables, SQL as the question-asking layer, and the reframe: every metric is a query underneath.
π Leader 2 Β· easyReading a query without fear
SELECT, FROM, WHERE, GROUP BY in plain business terms - and what a JOIN really means, no writing required.
βοΈ Leader 3 Β· mediumJudging a data claim
Count vs sum vs average, "per what", and the refund trap - how the same data yields two honest but different numbers.
π Leader 4 Β· mediumThe dashboard behind the dashboard
Every KPI tile is a saved query. Cohort vs snapshot, denominator games, and why "active users" can be two numbers.
π― Leader 5 Β· decidingAsking for the right cut
The five-part data request, defining a metric so two people agree, and how not to be the "just pull the numbers" exec.
π€ Leader 6 Β· decidingSQL, warehouses and AI
The modern stack, why text-to-SQL makes reading queries matter more, and what to fund: governed metrics, not tool churn.
The builder track π οΈ Β· for practitioners Β· 10 x 45 min Β· runs live in your browser
One database, Daybreak, queried harder every session. Every idea lands on data you already know - from your first SELECT to window functions, a real investigation, and warehouse-grade tuning.
Meet your database
Run a real query in two minutes: SELECT, FROM, LIMIT, ORDER BY, and a tour of the whole Daybreak schema.
π Builder 2 Β· easyFiltering rows with WHERE
Comparison and logical operators, LIKE, IN, BETWEEN, IS NULL - asking for exactly the rows you want.
π Builder 3 Β· mediumAggregating: COUNT, SUM, GROUP BY
Collapse many rows into answers - COUNT, SUM, AVG, GROUP BY, HAVING, DISTINCT, and "per what" thinking.
π Builder 4 Β· mediumJoining tables
The relational payoff: INNER and LEFT joins, chaining three tables, self-joins - stitching Daybreak together.
π§© Builder 5 Β· mediumCombining and reshaping
CASE buckets, aliases and expressions, string and date functions, UNION - reshaping results into what you need.
πͺ Builder 6 Β· hands-onSubqueries and CTEs
Queries inside queries, and WITH clauses that make multi-step logic read top-to-bottom instead of inside-out.
πͺ Builder 7 Β· hands-onWindow functions
Rank, ROW_NUMBER, LAG/LEAD, running totals and PARTITION BY - the analyst superpower, on Daybreak's revenue.
ποΈ Builder 8 Β· hands-onBuilding and changing data
CREATE, INSERT, UPDATE, DELETE, ALTER, keys and constraints, and the order queries actually execute in.
π΅οΈ Builder 9 Β· hardestAnalyst case study: the March drop
A full investigation: confirm the revenue dip, drill into March, find the cause in refunds, events and cancels.
π Builder 10 Β· hardestPerformance and real warehouses
Reading a query plan, indexes and their tradeoffs, and the dialect deltas from SQLite to Postgres, BigQuery, Snowflake.
Choose your path πΊοΈ
Two doors, one database. Leaders never write a query; builders never sit through theory they have not just run themselves.
The knowledge map π§
Both tracks at a glance - hover a session to spotlight its concepts, click any node to jump in.
The whole course on one sheet π
Seven modules: both tracks, the Daybreak schema with real row counts, the clause ladder, the order SQL actually runs your query in, which join to reach for, the four traps that make an honest query mislead, and the March revenue-drop investigation.
learn sql
with phoebe
SEC-01 TWO TRACKS
LEADER TRACK
read and question, no code
- a1What SQL actually is
- a2Reading a query without fear
- a3Judging a data claim
- a4The dashboard behind the dashboard
- a5Asking for the right cut
- a6SQL, warehouses and AI
BUILDER TRACK
write it yourself, live editor
- b1Meet your database
- b2Filtering rows with WHERE
- b3Aggregating
- b4Joining tables
- b5Combining and reshaping
- b6Subqueries and CTEs
- b7Window functions
- b8Building and changing data
- b9Analyst case study
- b10Performance and warehouses
SEC-02 THE DAYBREAK DATABASE
customers 15
- customer_id
- name
- city
- country
- signup_date
- plan
orders 33
- order_id
- customer_id
- order_date
- status
- channel
order_items 53
- order_id
- product_id
- quantity
- unit_price
products 8
- product_id
- name
- category
- price
- roast
subscriptions 10
- sub_id
- customer_id
- product_id
- start_date
- cancel_date
- monthly_qty
events 10
- event_id
- customer_id
- event_date
- event_type
SEC-03 THE CLAUSE LADDER
Every rung assumes the ones below it, so climb in order. Rungs 1 to 4 already answer most day-to-day questions. Rung 7 is the one that separates people who know SQL from people who reach for SQL first.
SEC-04 THE REAL ORDER OF EXECUTION
THE ORDER YOU WRITE IT
- SELECT
5 - FROM
1 - WHERE
2 - GROUP BY
3 - HAVING
4 - ORDER BY
6 - LIMIT
7
THE ORDER SQL RUNS IT
- FROM
1 - WHERE
2 - GROUP BY
3 - HAVING
4 - SELECT
5 - ORDER BY
6 - LIMIT
7
WHERE runs at step 2, SELECT at step 5. The alias does not exist yet.
Repeat the expression, or sort by the alias: ORDER BY runs at step 6, after SELECT.
SEC-05 WHICH JOIN
Money and names live in different tables, so revenue per customer needs all three. Read the joins as a path:
Line revenue is quantity * unit_price, and SUM rolls it up per customer. Filter to status = 'completed' so refunds and cancels do not inflate the number.
SEC-06 WHERE HONEST NUMBERS MISLEAD
When two company reports disagree on "revenue", the most common cause is not that one is wrong. It is the same word carrying two definitions in two queries. The leader's move is to ask what each query actually counted.
SEC-07 THE MARCH REVENUE DROP
The funnel is the point. Each step narrows the question the next query has to answer, which is why the last step is a paragraph rather than another chart.