Atterna
RUEN
Get access

Learn SQL from zero on a realistic marketplace dataset: a 10-day plan

Try it · 30 seconds · from Atterna’s practice

order_idbuyerstatus
101Annapaid
102Leoncancelled
103Annapaid
104Ninapaid
SELECT COUNT(DISTINCT buyer)
FROM orders
WHERE status = 'paid';

What does this query return?

Preparing the practice…

A day-by-day plan for learning SQL from scratch on business data — from reading a table to JOIN traps and window functions — free in your browser: days 1–2 with no account, all ten days with a free account.

On this page · 4

Most SQL tutorials teach syntax on toy tables. That is fine for learning what WHERE does, but you also need practice deciding what to do when a colleague asks “which categories bring in the most money?” and the data has cancelled orders, refunds and items on separate rows.

This plan follows Atterna Start, our course from zero. You join the analytics team of a fictional marketplace, Meridian, as an intern; every day colleagues bring real questions, and every query is checked automatically on two different extracts of the data — which helps catch queries that fit one extract accidentally. Passing these checks is useful feedback, not proof of correctness on every possible dataset.

Short version: ten sessions you can work through at your own pace. Week one: tables, first queries, filters, counting and breakdowns. Week two: queries in steps, joins, join traps and window functions. Days 1–2 run in your browser with no account and nothing to install; a free account opens all ten.

Week one: reading data and counting

DayTopicWhat you can do after it
1Your order, your first queryPlace an order and watch it become rows; build your first SELECT by tapping column headers; read rows, columns and empty values
2Typing SQLWrite SELECT by hand, meet data types, make the first calculation
3Picking what you needWHERE filters, empty values and IS NULL, sorting with ORDER BY
4Sharper conditions and labelsIN, BETWEEN, LIKE, and CASE WHEN to label rows
5Counting ordersCOUNT, SUM, AVG, GROUP BY and HAVING

Week two: steps, joins and windows

DayTopicWhat you can do after it
6BreakdownsCOUNT(DISTINCT ...) versus COUNT(*), breakdowns with CASE: orders by promo code, buyers by segment
7A query in stepsWITH (CTEs) to split a hard question into readable steps
8Two tablesJOIN and LEFT JOIN, COALESCE, and why a join can silently drop rows
9When JOIN multiplies rowsA silent error that inflates totals — see our guide
10Windows and the final reportWindow functions (ROW_NUMBER, running SUM ... OVER) and a short report for a colleague

After day 10 comes the first episode of the Meridian simulator, where the same skills meet an unclear request and a decision.

What makes it stick

  • Hands first, syntax second. You click through a table and build a query with the mouse before typing one.
  • SQL you can read aloud. As you type, you see how the database reads the query: take the table, pick the rows, group, sort.
  • Honest checks. Your answer runs on two extracts with different data; the usual mistakes are recognised and explained in plain words.
  • Real questions. “Which home products under €30 do we have in stock?” rather than “select all cats older than 3”.

FAQ

Can I learn SQL in 10 days?

The ten sessions introduce filters, grouping, joins, CTEs and a first window function. How quickly they become comfortable depends on your starting point and practice. Finishing the course is not a guarantee of fluency or job readiness.

Is the course free?

Days 1 and 2 are free and need no account. A free account opens all ten days, case 1 and Meridian episode 1, and keeps your progress on any device. You pay only for practice beyond that: case rounds in Atterna Foundations (€19) and the Meridian simulator in Atterna Analyst (€59), both one-time early-access prices, not a subscription. To buy, leave a request on the access page; Kirill replies within 24 hours with how to pay.

Do I need to install anything?

No. SQL runs in your browser on a copy of the marketplace data; checks happen automatically.

Which SQL dialect does it use?

Queries run on DuckDB in your browser. The core ideas — SELECT, JOIN, GROUP BY, WITH, window functions — transfer to PostgreSQL, BigQuery and Snowflake. Some functions, date expressions and other syntax differ by engine; check its documentation when porting a query.

I already know some SQL. Where should I start?

Take the six-question level check: it suggests a starting point — a day of the course, or the Meridian simulator if you already write SQL.

Free account

Practise this, free

A free account opens hands-on lessons on a realistic marketplace.

  • All 10 days of the SQL courseFrom your first table to JOINs and window functions
  • Meridian episode 1A full analyst week: the record that wasn’t
  • Your first portfolio projectFinished work as a ready GitHub project, with your SQL and charts
  • Progress on any deviceYour cheat sheet and review cards go with you
Create a free account Free · 30 seconds · no cardAlready have one? Sign in

Examples use Meridian, Atterna’s fictional practice marketplace.