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
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.

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
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
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
lições
4
lições grátis
  1. 01A different dialect: EXCEPT, REPLACE, SAFE mode
  2. 02Arrays and structs: UNNEST in every form
  3. 03Money and scale: partitions, clustering, 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
lições
6
lições grátis
  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: funções em minúsculas, e SETTINGS controla a execução.

resultadocorreto
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
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
fera de rank Junior
Junior
0
fera de rank Middle
Middle
1 000+
fera de rank Senior
Senior
3 000+
fera de rank Lead
Lead
6 000+
fera de rank Architect
Architect
10 000+
fera de rank Expert
Expert
15 000+
fera de rank Legend
Legend
24 000+
fera de rank Titan
Titan
40 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 both courses
  • Sandbox e os três dialetos
  • Ranking, sequências e conquistas
Começar de graçaContinuar treinando
Premium
a partir de $4.7/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
  • Both courses in full and an unlimited AI mentor
  • 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, sua fera, 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 $4.7/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.
Titan — the top-rank Query Beast, 3D model

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