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.
For every driver, count the rides and return the five leaders.
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;
| name | ride_count |
|---|---|
| Sergey | 3 |
| Maria | 2 |
| Andrew | 2 |
| Olga | 1 |
| Daniel | 1 |
- 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.
| sqlarena=# \dt | ||
| bookings | customers | employees |
| events | order_items | orders |
| payments | products | sessions |
| shipments | transactions | users |
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.
SQL from zero
Theory, a walkthrough and a task after every lesson — from your first SELECT to window functions and transactions.
- 01SELECT: filtering and sorting
- 02JOINs and aggregates
- 03Subqueries, CTEs, window functions
- 04DML, DDL, EXPLAIN and transactions
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.
- 01Python: exactly as much as you need
- 02pandas: cleaning, joins, summaries
- 03Metrics, segments, cohorts
- 04A/B tests, statistics, dashboards
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.
- 01A different dialect: EXCEPT, REPLACE, SAFE mode
- 02Arrays and structs: UNNEST in every form
- 03Money and scale: partitions, clustering, shards
- 04The Far Archive exam
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.
- 01EXPLAIN ANALYZE: how to read a plan
- 02Scans, B-tree and composite indexes
- 03JOINs, work_mem and statistics
- 04Query rewriting and an incident post-mortem
You do not have to solve 1021 tasks in a row
Six goal-shaped tracks: each one is a curated sequence of tasks, not the whole catalog at once.
- 01AnalistaSELECT → JOIN → aggregates → window functionsPara o PM parar de perguntar se você sabe SQL57
- 02BackendJOIN → aggregates → transactions → EXPLAINSo your lead stops finding N+1 queries in production52
- 03QA / TestesSELECT → JOIN → finding broken rows → DML for fixturesSo you can test the data, not only clicks in the UI51
- 04Data EngineeringDDL → transformations → window functions → CTEsPara construir data marts, não colar SELECT *48
- 05SQL at workreports → exports → reconciliations → incidentsThe queries that actually land in your work chat90
- 06Interview prepwarm-up → MEDIUM → HARD → interview modeHand-picked questions for the technical screen41
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.
A warm-up: group the accounts and sum the balances.
SUM(balance) … GROUP BY client_idA tech-screen classic: compare a row with itself through a subquery.
WHERE salary > (SELECT … manager)A window function, a time slice and ranking inside each group.
ROW_NUMBER() OVER (PARTITION BY city …)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 tasksIt 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.
| city | revenue |
|---|---|
| Москва | 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.


- EASY · 10 de poder
- MEDIUM · 25 de poder
- HARD · 50 de poder
- EXPERT · 75 de poder
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.
It reads your recent submissions, finds the topic you keep missing and builds a task for it, with its own schema and grading.
Short articles on the constructs — with examples, not a retelling of the docs.
How ROWS and RANGE change what an aggregate sees inside the window.
SUM(x) OVER (PARTITION BY city ORDER BY d
ROWS 6 PRECEDING)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.
- 14 tasks against the clock, no hints
- Three levels: Foundations, Practitioner, Expert
- Focus losses and paste attempts are recorded
Emitido para
Ragnar Lothbrok
Habilidades verificadas
Data
01/06/2026
Código de verificação
B2D6118AF7C9
Resultado
100%
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.
- 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
- 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
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
The Query Beast: everyone gets their own, and it evolves with your rank.







