Practise SQL, Python, JavaScript and TypeScript with code that runs in your browser. Learn in short lessons, solve checked exercises and experiment in the playgrounds. Nothing to install.
SELECT c.country,
COUNT(o.order_id) AS orders,
ROUND(SUM(o.order_total), 0) AS revenue
FROM Orders o
JOIN Customers c ON c.customer_id = o.customer_id
GROUP BY c.country
ORDER BY revenue DESC;
country
orders
revenue
United Kingdom
3
21398
Lebanon
2
14043
Norway
2
13891
Peru
3
10685
United States
2
9192
Japan
2
6600
Tanzania
1
2843
● 7 rows returned · executed in your browser, no remote execution server
4 runnable languages
36 lessons and 32 SQL tutorials, each built on the ones before it, with a program to write at the end.
82 checked exercises
40 coding exercises and 42 SQL exercises. Your answer is run against test cases; any correct program passes, not one exact wording.
Every example verified
260 runnable examples in the SQL tutorials and every lesson example were executed before publishing; the output shown is what they printed.
0 cookies, no accounts
The site stores code and progress in this browser. Vercel processes cookieless page-view and performance metrics. Privacy details.
Explore
Popular languages
Start with the one you could picture using next week. Loops, functions and collections are the same ideas everywhere; what you learn transfers.
The SQL section is where this site began, and it is still the deepest part of it: a real SQLite engine in your browser, a structured course, and answers checked by comparing result sets.
Write a program, press Run, see the output. SQL, Python, JavaScript, TypeScript execute inside your browser without an account. The site does not upload your code for execution.
Scripts run runnable examples and reference solutions before a change ships. How we verify shows exactly what is checked.
Runs on your device
Where a language runs in the browser it says so; where it does not yet, the page says that instead of faking it.
Original material
Every explanation, scenario and test case was written for this site. No copied question banks.
Nothing to sign up for
Progress lives in your browser; SQL Practice includes file export/import controls. No accounts. Cookieless analytics is disclosed in the Privacy Policy.
Structure
Learning paths
Each path is a course you read in order. Pick one and follow the numbers.
Yes. Every tutorial, lesson, exercise and playground is free, with no paywall, trial or account. The site is funded by its owner and, if advertising is ever added, the privacy policy will say so first.
Do I need to sign up or install anything?
No. Open a page and start. SQL, Python, JavaScript and TypeScript run inside your browser; your code and your progress stay on your device.
How are my answers checked?
By running them. An exercise has test cases with inputs and expected outputs; your program is executed against each one and you see exactly which passed, which failed and why. SQL exercises run your query and a reference query against the same sample database and compare the rows.
Are the examples correct?
Runnable tutorial and lesson examples and exercise and challenge reference solutions are executed by scripts before publication, with the toolchain named on the page. Published output is checked against those runs. Syntax fragments and vendor-specific examples are labelled when they cannot run here. The details are on the How we verify page.
Which languages can I run in the browser?
SQL, Python, JavaScript, TypeScript. The compiler lists only languages that actually run here.