Atterna · Start

Be sure of the number before you say it.

For beginners · 10 days · ≈ 5 hours

Learn SQL from scratch. Understand every row.

Place an order in a shop and watch it turn into a row, then build your first query by tapping. About ten minutes, no typing yet.

Loading your progress…Know some SQL? Choose a topic No experience needed. Days 1–2 without an account; all 10 days free with one.
Hands-on first

Place an order in the shop and watch it become a row in a table. Tap through columns, find empty values, build a query without typing.

SQL you can read aloud

As you write a query, you see how the database will read it: take the table, keep the rows, sort. Errors are explained in plain words.

A real check

Every query also runs on a second dataset with different numbers. You can't guess the answer — but the check recognises and explains the usual mistakes.

Programme

  1. 1
    Day 1 · 9 minYour order, your first query

    Place a practice order and find it as rows in a table. Then build your first query by tapping: no typing yet.

    Optional independent practice after the lesson.

    TableRow and columnFirst query: SELECT … FROMEmpty valueKeyIdentify what one row represents
  2. Day 2 · 24 min · Free · opens after day 1Queries by hand

    SELECT and FROM by hand: type queries, calculate inside them and fix someone else's.

    Optional independent practice after the lesson.

    SELECT and FROMSELECT * and LIMITCalculations and ASDISTINCTInspect a query’s columns, not just whether it runs
  3. Day 3 · 33 minPicking what you need

    WHERE, AND and OR, sorting and a “top 5”. Plus the sneaky empty value that isn't even equal to itself.

    Optional independent practice after the lesson.

    WHEREAND and ORORDER BY and LIMITIS NULLCheck whether a result’s size makes sense
  4. Day 4 · 32 minSharper conditions and labels

    IN, BETWEEN, LIKE and dates — shorter, sharper conditions. And CASE labels rows: “cheap”, “medium”, “expensive”.

    Optional independent practice after the lesson.

    IN, BETWEEN, LIKEDatesCASE WHENCheck what the percentage counts
  5. Day 5 · 34 minCounting orders

    Nine thousand orders — in one number. COUNT, SUM, AVG, your first real metric and GROUP BY.

    Optional independent practice after the lesson.

    COUNT, SUM, AVGGMVGROUP BYHAVINGCheck which orders belong in a sales metric
  6. Day 6 · 30 minBreakdowns

    Orders and people are different numbers. We slice GMV by week and by order size, and count the cancellation rate in one row.

    Optional independent practice after the lesson.

    COUNT(DISTINCT …)date_trunc: weeksCASE in GROUP BYFILTER (WHERE …)Compare the same units and complete periods
  7. Day 7 · 30 minA query in steps

    Some questions can't be answered in one query. A subquery and WITH break them into steps that read from top to bottom.

    Optional independent practice after the lesson.

    A subquery in FROMWITH: named stepsComparing with the averageCheck whether a query counts people or orders
  8. Day 8 · 29 minTwo tables

    JOIN connects tables by a shared code, and LEFT JOIN finds what has no match: products nobody has ordered.

    Optional independent practice after the lesson.

    JOIN … ONShort table namesLEFT JOINCOALESCECheck which rows a join keeps or loses
  9. Day 9 · 28 minWhen JOIN multiplies rows

    SQL's sneakiest trap: a join quietly multiplies rows and the total balloons. We learn to spot it and get around it. And we join on a range of dates.

    Optional independent practice after the lesson.

    Rows multiplying in a JOINAggregate first, then joinThree tables in one queryJOIN on a rangeReconcile totals before and after a join
  10. Day 10 · 36 minWindows and the final report

    Window functions calculate a share, a place in a group and a running total without collapsing rows. At the end — a report for the board that brings together two weeks of work.

    Optional independent practice after the lesson.

    SUM() OVER ()ROW_NUMBER and PARTITION BYRunning totalThe final reportSeparate an observed difference from a supported explanation
  11. NextMeridian: episode 1 “Record week”

    The dashboard shows a record week after a promotion. You find out what really happened to the money.

Days 1–2 without an account; all 10 days with a free account

Practice after the course: case rounds in Atterna Foundations

SQL is free: all 10 days of Start with a free account. You pay only for practice: case rounds (€19) and Meridian (€59).

€19Atterna Foundations
one-time · early-access price

Get Foundations

Start day 1 free firstOr Atterna Analyst · €59

Who you'll be working with

LK
Luka Kimsenior analyst
VL
Vera Lindcommercial director
TR
Tomás Ruizmarketing
OP
Olga Petrovafinance