From your first SELECT
to SQL you trust

Learn by doing: automatically graded tasks on real tables, four courses, and questions asked at interviews in Yandex, Ozon, Avito and other companies.

Free tier, no card. Progress is saved from the very first task.

1021
auto-graded tasks
926
datasets
4
SQL dialects
6
role tracks
Yandexfrom an interviewMEDIUM
Top five drivers by number of rides

For every driver, count the rides and return the five leaders.

drivers
idnamecityrating
rides
iddriver_idpricestarted_at
SELECT d.name,
       COUNT(r.id) AS ride_count
FROM drivers d
JOIN rides r ON r.driver_id = d.id
GROUP BY d.name
ORDER BY ride_count DESC
LIMIT 5;
JOIN · GROUP BY · LIMIT
Answer accepted+25 Power
nameride_count
Sergey3
Maria2
Andrew2
Olga1
Daniel1
questions from real interviews
  • Google
  • Meta
  • Amazon
  • Microsoft
  • Tesla
  • Spotify
  • Uber
  • Twitter (X)
  • Booking
  • Netflix

Tasks that came up at these companies interviews. The companies are not partners of SQL Arena.

Every answer runs against real tables
Every answer runs against real tables
sqlarena=# \dt
bookingscustomersemployees
eventsorder_itemsorders
paymentsproductssessions
shipmentstransactionsusers

Each task has its own dataset: a schema, rows, and a hidden check of your result.

One route: SQL first, analytics next

You do not have to choose between them — the second one continues the first. Tell us where you start and we will highlight the entrance.

01Start here

SQL from zero

Theory, a walkthrough and a task after every lesson — from your first SELECT to window functions and transactions.

12
modules
77
lessons
16
free lessons
  1. 01SELECT: filtering and sorting
  2. 02JOINs and aggregates
  3. 03Subqueries, CTEs, window functions
  4. 04DML, DDL, EXPLAIN and transactions
I can get data out and reshape it
02

Data analyst from zero

Python and pandas right in the browser, product metrics and eleven investigations of the kind: the metric dropped — find out why.

13
chapters
83
lessons
11
free lessons
  1. 01Python: exactly as much as you need
  2. 02pandas: cleaning, joins, summaries
  3. 03Metrics, segments, cohorts
  4. 04A/B tests, statistics, dashboards
I can investigate data and make decisions
03

The BigQuery course

For people who already write SQL: how the BigQuery dialect differs from Postgres — arrays in a cell, windows with QUALIFY, shards, and a bill for the bytes you read.

8
chapters
27
lessons
4
free lessons
  1. 01The dialect: EXCEPT, REPLACE, SAFE
  2. 02Arrays and structs: UNNEST
  3. 03Partitions, clusters and shards
  4. 04The Far Archive exam
You rewrite Postgres queries into BigQuery idioms and understand what the bill is made of.
04

The performance course

For people who already write SQL: why a query takes forty seconds — EXPLAIN ANALYZE and BUFFERS, the four scan types, indexes and sargability, JOIN algorithms, work_mem and planner statistics.

10
chapters
49
lessons
6
free lessons
  1. 01EXPLAIN ANALYZE: how to read a plan
  2. 02Scans, B-tree and composite indexes
  3. 03JOINs, work_mem and statistics
  4. 04Query rewriting and an incident post-mortem
You read a query plan and see exactly what is slowing it down

Practice problems run out. Interviews do not.

The catalog carries questions asked at real technical interviews — from a warm-up to HARD window-function problems.

СбербанкEASYfree
Total balance per client

A warm-up: group the accounts and sum the balances.

SUM(balance) … GROUP BY client_id
OzonMEDIUM
Employees paid more than their manager

A tech-screen classic: compare a row with itself through a subquery.

WHERE salary > (SELECT … manager)
WildberriesHARD
Top 3 night-time users per city

A window function, a time slice and ranking inside each group.

ROW_NUMBER() OVER (PARTITION BY city …)
Interview mode

The timer runs on the server, the browser is locked and there are no hints. After the session you get a report: tab switches, focus losses, paste attempts.

Open the interview tasks
01
server-side timer
02
browser locked
03
post-session report

It all happens here. Nothing to install.

PostgreSQL, MySQL, ClickHouse and BigQuery — four separate sandboxes. The same question looks different on each, and you get to see it.

SELECT city, sum(amount) AS revenue
FROM orders
WHERE created_at >= now() - INTERVAL 30 DAY
GROUP BY city
ORDER BY revenue DESC
LIMIT 3
SETTINGS max_threads = 4;

ClickHouse: lower-case functions, and SETTINGS controls execution.

resultcorrect
cityrevenue
Москва4 812 304
Санкт-Петербург2 117 880
Казань934 215

26 interface languages, light and dark themes.

When ordinary practice is not enough

A one-on-one duel over a single task, a weekly leaderboard and eight ranks your Query Beast grows through.

1v1 duelshared clock
An Expert-rank beast
You
solved
01:38
VS
A Legend-rank beast
artem_sql
solving…
01:38
Start a duelA subscription is required to take a seat in a match.
Weekly top
leaderboard resets Mon 00:00
Артём К.25 472
Мария С.15 679
Denis P.10 563
4Ольга Ж.9 595
5Kirill V.7 757
  • EASY · 10 power
  • MEDIUM · 25 power
  • HARD · 50 power
  • EXPERT · 75 power
Premium solve×1.5
Junior-rank beast
Junior
0
Middle-rank beast
Middle
1 000+
Senior-rank beast
Senior
3 000+
Lead-rank beast
Lead
6 000+
Architect-rank beast
Architect
10 000+
Expert-rank beast
Expert
15 000+
Legend-rank beast
Legend
24 000+
Titan-rank beast
Titan
40 000+

Harder task × first try × interview mode = faster rank. Premium solves grant ×1.5 Power — the boost is permanent.

Go through the topic again — then drill it

Two tools for exactly that: a generator that builds tasks for your weak topic, and a syntax reference.

AI task generation

It reads your recent submissions, finds the topic you keep missing and builds a task for it, with its own schema and grading.

task-generator
$ ai.generate(adaptive=true)
→ scanning your last 40 submissions…
→ weakest area: window functions (34%)
→ HARD: 5 cleared, 88% lately → HARD it is
→ building schema: orders, customers, line_items
✓ ready: "Three priciest orders per customer"
SQL reference

Short articles on the constructs — with examples, not a retelling of the docs.

Window functions: row frames

How ROWS and RANGE change what an aggregate sees inside the window.

SUM(x) OVER (PARTITION BY city ORDER BY d ROWS 6 PRECEDING)
Open the reference

Finish the course. Then prove it on the exam.

The certificate is not a signup gift but the result of a passed exam: it carries a QR check and a public page.

Examproctored
time left
24:54
answered
11/14
  • 14 tasks against the clock, no hints
  • Three levels: Foundations, Practitioner, Expert
  • Focus losses and paste attempts are recorded
Take the exam
SQL Arena
Certificate

Issued to

Ragnar Lothbrok

Practitioner

Skills verified

SubqueriesCTEWindow functionsHAVINGCASEDMLMulti-table JOIN

Date

6/1/2026

Verification code

B2D6118AF7C9

Score

100%

Scan to verify

sql.coderang.dev

A sample Practitioner-level certificate. A real one verifies by QR code.

Free forever. Premium when you want more.

No silent charges: you pay for a period and train. The longer the period, the cheaper the month.

Free
$0
  • Every Easy-level task — interview easies included
  • The first chapters of both courses
  • Sandbox and all three dialects
  • Leaderboard, streaks and achievements
Start for freeContinue training
Premium
from $4.7/mo
one-time payment per period · no auto-renewal
  • All Medium, Hard and Expert tasks — interview questions included
  • Both courses in full and an unlimited AI mentor
  • Unlimited Interview mode, exams and certificates
  • +50% Power for every solve — permanently
See plans

The short version

Is it free?

Yes. Every Easy-level task — including easy questions from real interviews — plus ranks, your beast, the sandbox and the leaderboard: free forever, no card. Premium unlocks the harder tiers (Medium, Hard, Expert), unlimited AI and Interview mode.

Which SQL dialects are supported?

PostgreSQL, MySQL and ClickHouse — we're the only trainer with ClickHouse problems. Your solution runs on a real database and is graded instantly.

Is it good for interview preparation?

Yes. There's an Interview mode with a timer and focus tracking — like a real tech screen — plus problems from Google, Meta, Microsoft, Tesla and other companies' interviews.

What is AI problem generation?

The AI builds unique SQL tasks for your level and chosen topics (JOINs, subqueries, window functions) with a ready dataset and a reference solution — and it sees where you go wrong most often.

Do I need a card? Is there auto-renewal?

Free needs no card at all. Premium is a one-time payment per period (from $4.7/mo) — no auto-renewal, nothing charged behind your back.

SQL starts making sense the moment you write it

Two minutes to your first task. The route after that is yours.

Solve your first taskBack to training
You can start for free, no card needed.
Titan — the top-rank Query Beast, 3D model

The Query Beast: everyone gets their own, and it evolves with your rank.