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.
- 01The dialect: EXCEPT, REPLACE, SAFE
- 02Arrays and structs: UNNEST
- 03Partitions, clusters and 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.
- 01AnalystSELECT → JOIN → aggregates → window functionsSo your PM stops asking 'do you know SQL?'57
- 02BackendJOIN → aggregates → transactions → EXPLAINSo your lead stops finding N+1 queries in production52
- 03QA / TestingSELECT → JOIN → finding broken rows → DML for fixturesSo you can test the data, not only clicks in the UI51
- 04Data EngineeringDDL → transformations → window functions → CTEsTo build data marts, not paste 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: lower-case functions, and SETTINGS controls execution.
| 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 power
- MEDIUM · 25 power
- HARD · 50 power
- EXPERT · 75 power
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.
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
Issued to
Ragnar Lothbrok
Skills verified
Date
6/1/2026
Verification code
B2D6118AF7C9
Score
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.
- Every Easy-level task — interview easies included
- The first chapters of both courses
- Sandbox and all three dialects
- Leaderboard, streaks and achievements
- 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
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
The Query Beast: everyone gets their own, and it evolves with your rank.







