About the online SQL playground
This page runs SQL against a real database in your browser. The engine is SQLite compiled to WebAssembly, running in a background worker, so queries execute locally and nothing has to be installed.
Each sample dataset (school, shop, and employees) comes with tables already filled in, and the schema panel shows the columns you can query. You can also start from an empty database and create your own tables.
How to use it
- Pick a sample dataset, or start with an empty database.
- Check the schema panel for table and column names.
- Write a query in the editor and run it.
- Read the result table. Use Reset to restore the original data.
Example: filter and sort rows
Run this against the school dataset to list students older than 20, oldest first.
-- Students older than 20, oldest first
SELECT name, age
FROM students
WHERE age > 20
ORDER BY age DESC;What it is good for
- Practising SELECT, WHERE, JOIN, and GROUP BY on ready-made data
- Testing INSERT, UPDATE, and DELETE without risking a real database
- Trying window functions, subqueries, and common table expressions
- Preparing for SQL interview questions
Frequently asked questions
Which SQL dialect does the playground use?
SQLite. Standard SQL such as SELECT, JOIN, GROUP BY, subqueries, CTEs, and window functions works. Features specific to other databases, such as stored procedures, are not available.
Are my changes saved?
No. The database lives in your browser tab. Reloading the page or pressing Reset restores the original data.
Is there a limit on query results?
Results show at most 500 rows per statement, and a query that runs longer than 5 seconds is stopped.
Is the SQL playground free?
Yes. It is free and works without an account.