Skip to content
A workshop for practical SQL

Learn SQL by actually writing it.

Short lessons, immediate practice. Write real queries against realistic data right in your browser. No sign-up, nothing to install. Every exercise uses the same local workbench, so examples turn into habits quickly.

Runs in your browserPowered by DuckDB91 free lessons
garden_shop · workbench.sql
DuckDB
1
2
3
4
5
6
7
select c.category_name,
       count(*) as products,
       round(avg(p.price), 2) as avg_price
from products as p
join categories as c on c.category_id = p.category_id
group by c.category_name
order by products desc, c.category_name
Runs DuckDB in your browser. Nothing is sent anywhere.

Stuck on a query right now?

How it works

Three steps, from your first query to a real report.

1

Pick a lesson

Follow the beginner path from your first SELECT onward. Each lesson is short and focused.

2

Write a real query

Type SQL in the in-browser workbench and run it against realistic sample data.

3

See results, get graded

Results appear instantly. We check your answer and nudge you when it's off.

Start here

The beginner path is one clear line.

91 hands-on lessons across 18 chapters, grouped into simple tracks. Start at the top, with no guessing what comes next.

Begin Chapter 1 →