From your first SELECT
to SQL you trust

Learn by doing: automatically graded tasks on real tables, story-driven 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.

1156
auto-graded tasks
926
datasets
4
SQL dialects
12
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
questões de entrevistas reais
  • 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.

SQL first. Then wherever you need.

No choosing where to start: the second course continues the first, and the rest come once SQL is already written.

From zero2 courses · 25 chapters · 160 lessons
01→ Start here

SQL from zero

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

12
módulos
77
lições
16
lições grátis
  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
capítulos
83
lições
11
lições grátis
  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
Already write SQL4 courses · 32 chapters · 135 lessons

The BigQuery course

arrays in a cell, QUALIFY, paying by bytes

8 chapters · 27 lições
StartThe BigQuery course

The performance course

EXPLAIN, scans, indexes, plans

10 chapters · 49 lições
StartThe performance course

The ClickHouse course

funnels, columnar arrays, price of an answer

8 chapters · 41 lições
StartThe ClickHouse course

The regex course

patterns, validation, log parsing

6 chapters · 18 lições
StartThe regex course
Already write SQL and Python2 courses · 20 chapters · 117 lessons

The Data Engineering course

pipelines, warehouse, backfill

10 chapters · 58 lições
StartThe Data Engineering course

The Kafka course

the log, consumer lag, exactly-once

10 chapters · 59 lições
StartThe Kafka course

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: funções em minúsculas, e SETTINGS controla a execução.

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

27 interface languages, light and dark themes.

When ordinary practice is not enough

Um duelo um contra um em um único desafio, um ranking semanal e catorze ranks pelos quais o seu herói evolui.

1v1 duelshared clock
Um herói de rank Expert
You
solved
01:38
VS
Um herói de rank Legend
artem_sql
solving…
01:38
Iniciar um dueloÉ preciso uma assinatura para ocupar um lugar na batalha.
Top da semana
o ranking zera seg 00:00
Артём К.25 472
Мария С.15 679
Denis P.10 563
4Ольга Ж.9 595
5Kirill V.7 757
  • EASY · 10 de poder
  • MEDIUM · 25 de poder
  • HARD · 50 de poder
  • EXPERT · 75 de poder
Resolvido com Premium×1.5
Herói de rank Junior
Junior
0
Herói de rank Middle
Middle
1 000+
Herói de rank Senior
Senior
3 000+
Herói de rank Lead
Lead
6 000+
Herói de rank Architect
Architect
10 000+
Herói de rank Expert
Expert
15 000+
Herói de rank Legend
Legend
24 000+
Herói de rank Titan
Titan
40 000+
Herói de rank Mythic
Mythic
60 000+
Herói de rank Leviathan
Leviathan
80 000+
Herói de rank Ascendant
Ascendant
100 000+
Herói de rank Immortal
Immortal
120 000+
Herói de rank Eternal
Eternal
140 000+
Herói de rank Primordial
Primordial
160 000+

Desafio mais difícil × primeira tentativa × modo entrevista = rank mais rápido. Soluções no Premium dão ×1.5 de Power — o boost é permanente.

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.

gerador de desafios
$ ai.generate(adaptive=true)
→ analisando seus últimos 40 envios…
→ área mais fraca: funções de janela (34%)
→ HARD: 5 concluídos, 88% recentemente → vai de HARD
→ montando esquema: orders, customers, line_items
✓ pronto: «Os três pedidos mais caros por cliente»
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
Ir para o exame
SQL Arena
Certificado

Emitido para

Ragnar Lothbrok

Praticante de SQL

Habilidades verificadas

SubqueriesCTEWindow functionsHAVINGCASEDMLMulti-table JOIN

Data

01/06/2026

Código de verificação

B2D6118AF7C9

Resultado

100%

Escaneie para verificar

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
  • Todo desafio nível Fácil — incluindo os fáceis de entrevista
  • The first chapters of the courses
  • Sandbox e os quatro dialetos
  • Ranking, sequências e conquistas
Começar de graçaContinuar treinando
Premium
a partir de $7.2/mês
pagamento único por período · sem renovação automática
  • Todos os desafios Médio, Difícil e Expert — incluindo questões de entrevista
  • An unlimited AI mentor and the community's top solutions
  • Unlimited Interview mode, exams and certificates
  • +50% de Power a cada solução — para sempre
Ver planos

A versão curta

É grátis?

Sim. Todo desafio nível Fácil — incluindo questões fáceis de entrevistas reais — mais ranks, seu herói de rank, a Sandbox e o Ranking: grátis para sempre, sem cartão. O Premium libera os níveis mais difíceis (Médio, Difícil, Expert), IA ilimitada e o modo Entrevista.

Quais dialetos SQL são suportados?

PostgreSQL, MySQL e ClickHouse — somos o único treino com desafios de ClickHouse. Sua solução roda num banco de dados real e é avaliada na hora.

Serve para preparação de entrevista?

Sim. Tem um modo Entrevista com timer e controle de foco — igual a um tech screen de verdade — além de desafios de entrevistas da Google, Meta, Microsoft, Tesla e outras empresas.

O que é a geração de desafios por IA?

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.

Preciso de cartão? Tem renovação automática?

O Free não precisa de cartão nenhum. O Premium é um pagamento único por período (a partir de $7.2/mês) — sem renovação automática, nada é cobrado pelas suas costas.

SQL starts making sense the moment you write it

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

Solve your first taskIr ao treinador
You can start for free, no card needed.
Primordial — o herói do rank mais alto, modelo 3D

Cada jogador ganha um herói de rank, que evolui junto com o seu rank.