Skip to content
The learning path

Learn SQL

Work top to bottom, or jump to a track. Each lesson pairs a short explanation with exercises you run right here in the browser, with hints and solutions when you get stuck.

Progress
0 of 91 lessons completed · 0 started
0% complete across 18 chapters, 5 tracks.
Start Chapter 1

Foundations

Start here — the essentials, in order.0/21
010/4

Welcome to the Shed

What SQL is · the workbench · your first SELECT

Lessons
0 of 4 lessons completed
Start Chapter 1 →
  1. 1.1What is SQL?New
  2. 1.2Your first SELECTNew
  3. 1.3Tables, rows, and columnsNew
  4. 1.4Meet the WorkbenchNew
020/6

Data Types Before Deep Querying

Numbers · strings · dates · booleans · nulls

Lessons
0 of 6 lessons completed
Start Chapter 2 →
  1. 2.1Why data types matterNew
  2. 2.2Numbers and calculationsNew
  3. 2.3Strings need quotesNew
  4. 2.4Dates and timesNew
  5. 2.5Booleans and flagsNew
  6. 2.6Missing values with NULLNew
030/7

Select, Filter, and Sort

WHERE · AND/OR · IN · BETWEEN · LIKE · ORDER BY

Lessons
0 of 7 lessons completed
Start Chapter 3 →
  1. 3.1Choosing columnsNew
  2. 3.2Filtering Rows with WHERENew
  3. 3.3AND, OR & parenthesesNew
  4. 3.4IN and NOT INNew
  5. 3.5BETWEENNew
  6. 3.6LIKE & pattern matchingNew
  7. 3.7ORDER BY and LIMITNew
040/4

Aggregations and Grouping

COUNT · SUM · AVG · GROUP BY · HAVING

Lessons
0 of 4 lessons completed
Start Chapter 4 →
  1. 4.1Counting rows with COUNTNew
  2. 4.2SUM and AVGNew
  3. 4.3Grouping with GROUP BYNew
  4. 4.4Filtering groups with HAVINGNew

Joins & Logic

Combine tables and shape your output.0/12
050/4

Joins

INNER · LEFT · self-joins · multiplication

Lessons
0 of 4 lessons completed
Start Chapter 5 →
  1. 5.1Joining customers to ordersNew
  2. 5.2Joining orders to productsNew
  3. 5.3INNER vs LEFT JOINNew
  4. 5.4Self-joinsNew
060/4

CASE Logic and Derived Columns

Calculated columns · CASE WHEN · COALESCE

Lessons
0 of 4 lessons completed
Start Chapter 6 →
  1. 6.1Calculated columnsNew
  2. 6.2Labeling rows with CASENew
  3. 6.3Filling gaps with COALESCENew
  4. 6.4Business rules in SQLNew
070/4

Dates, Strings, and Nulls in Practice

Date math · string cleanup · safe null handling

Lessons
0 of 4 lessons completed
Start Chapter 7 →
  1. 7.1Filtering by date rangeNew
  2. 7.2Date math and lead timesNew
  3. 7.3Reshaping textNew
  4. 7.4Null-safe filteringNew

Change & Debug

Edit data safely, then fix what breaks.0/9
080/5

DML: Measure Twice, Cut Once

INSERT · UPDATE · DELETE · transactions

Lessons
0 of 5 lessons completed
Start Chapter 8 →
  1. 8.1What is DML?New
  2. 8.2Adding rows with INSERTNew
  3. 8.3Changing rows with UPDATENew
  4. 8.4Deleting rows safelyNew
  5. 8.5Transactions and ROLLBACKNew
090/4

Query Debugging and Common Mistakes

Reading errors · wrong answers without errors

Lessons
0 of 4 lessons completed
Start Chapter 9 →
  1. 9.1Reading error messagesNew
  2. 9.2Debugging in small stepsNew
  3. 9.3Wrong answers without errorsNew
  4. 9.4Formatting for readabilityNew

Analytics & Applied Practice

Real reporting on full datasets.0/22
100/6

Practical Analytics Patterns

Top-N · rates · cohorts · windows · CTEs

Lessons
0 of 6 lessons completed
Start Chapter 10 →
  1. 10.1Top-N reportsNew
  2. 10.2Percentages and ratesNew
  3. 10.3Cohorts and time bucketsNew
  4. 10.4Window functionsNew
  5. 10.5Common table expressionsNew
  6. 10.6Filtering windows with QUALIFYNew
110/6

Applied Practice: Movie Rentals

Reapply joins · aggregates · dates · nulls on a fresh dataset

Lessons
0 of 6 lessons completed
Start Chapter 11 →
  1. 11.1Browse the catalogNew
  2. 11.2Group the collectionNew
  3. 11.3Rental revenueNew
  4. 11.4Who rented whatNew
  5. 11.5Still on the shelfNew
  6. 11.6Top titles reportNew
120/6

Applied Practice: Website Analytics

Funnels · attribution · conversion rates on a marketing dataset

Lessons
0 of 6 lessons completed
Start Chapter 12 →
  1. 12.1Sessions by channelNew
  2. 12.2Longest sessionsNew
  3. 12.3Campaign attributionNew
  4. 12.4Anonymous sessionsNew
  5. 12.5Conversion funnelNew
  6. 12.6Top pagesNew
130/4

Applied Practice: Store Operations

Revenue · inventory · customer value · supplier margin

Lessons
0 of 4 lessons completed
Start Chapter 13 →
  1. 13.1Daily revenue reportNew
  2. 13.2Inventory reorder listNew
  3. 13.3Customer lifetime valueNew
  4. 13.4Supplier margin reportNew

Advanced

Subqueries, sets, pivots, missions, and modeling.0/27
140/4

Subqueries and EXISTS

Nested SELECTs · IN · EXISTS · correlated checks

Lessons
0 of 4 lessons completed
Start Chapter 14 →
  1. 14.1Scalar subqueriesNew
  2. 14.2IN with subqueriesNew
  3. 14.3EXISTS and NOT EXISTSNew
  4. 14.4Correlated subqueries vs joinsNew
150/4

Set Operations

UNION ALL · UNION · INTERSECT · EXCEPT

Lessons
0 of 4 lessons completed
Start Chapter 15 →
  1. 15.1UNION ALLNew
  2. 15.2UNIONNew
  3. 15.3INTERSECTNew
  4. 15.4EXCEPTNew
160/6

Summary Reports & Pivots

Conditional aggregation · ROLLUP subtotals · STRING_AGG · CASE buckets

Lessons
0 of 6 lessons completed
Start Chapter 16 →
  1. 16.1Pivoting with conditional aggregationNew
  2. 16.2Subtotals with ROLLUPNew
  3. 16.3Listing values with STRING_AGGNew
  4. 16.4Distribution with CASE bucketsNew
  5. 16.5GROUPING SETS and CUBENew
  6. 16.6PIVOT and UNPIVOTNew
170/8

Guided Playground Missions

Dataset scouting · revenue audits · scorecards · conversion reports

Lessons
0 of 8 lessons completed
Start Chapter 17 →
  1. 17.1Map a dataset before queryingNew
  2. 17.2Revenue audit missionNew
  3. 17.3Movie genre scorecardNew
  4. 17.4Channel conversion reportNew
  5. 17.5Retention cohort reportNew
  6. 17.6Pageview deduplication auditNew
  7. 17.7Campaign revenue reportNew
  8. 17.8Rolling sessions reportNew
180/5

Modeling and Data Quality

Profiling · quality checks · semantic views · staging · rerunnable scripts

Lessons
0 of 5 lessons completed
Start Chapter 18 →
  1. 18.1Profile a table before you queryNew
  2. 18.2Check data quality with SQLNew
  3. 18.3Build a semantic viewNew
  4. 18.4Stage, clean, and modelNew
  5. 18.5Write a rerunnable scriptNew

All 18 chapters are live, grouped into 5 tracks: Foundations, Joins & Logic, Change & Debug, Analytics & Applied Practice, and Advanced. Work through a track in order, or jump straight to the one you need.