Short lessons, then 308 interview-style questions on messy business data. Get one wrong and you see which rows are off, with a nudge on where to look.
No credit card · Google or email · Pick your level in 6 minutes
What is the total revenue from Mumbai? This query looks right. Run it, then fix it.
orders table (6 rows)| order_id | customer | city | amount | status |
|---|---|---|---|---|
| 101 | Asha | Mumbai | 1200 | completed |
| 102 | Ravi | Mumbai | 800 | cancelled |
| 103 | Asha | Mumbai | 500 | completed |
| 104 | Neha | Delhi | 900 | completed |
| 105 | Kabir | Mumbai | 300 | completed |
| 106 | Ravi | Pune | 700 | completed |
SELECT SUM(amount) AS revenue FROM orders WHERE city = 'Mumbai';
35 tables from 6 industries and a real retailer, with the duplicates and NULLs interviewers test.
See the rows you missed or added, a nudge on common mistakes, and the classic traps explained. Write it your way; your method is recognised.
Know the basics? A 6-minute quiz opens the levels you already know. Everything is free.

Built by Mohit Khandelwal, 5+ years in analytics, who learned SQL from YouTube and couldn't find interview-level practice. Read the story