Run SQLite Online
From your first SELECT to a many-table JOIN. Write real SQLite, explore the result, and keep the queries that get you somewhere.
SELECT
c.country,
COUNT(*) AS orders,
ROUND(SUM(o.total), 2) AS revenue
FROM orders AS o
JOIN customers AS c
ON c.id = o.customer_id
GROUP BY c.country
ORDER BY revenue DESC;Choose your starting point
Try the sample shop, open a SQLite database, or create an empty workspace. You do not need an account.
Write and run SQLite
Use autocomplete for table and column names. Ctrl/⌘ + Enter runs your selection, or the whole editor if nothing is selected.
Keep your answer
Export the current result preview as CSV or JSON. Download the whole database to preserve your tables and changes.
What SQL dialect does this playground use?
This is SQLite, running through the official SQLite WebAssembly package. PostgreSQL and MySQL-specific commands may not work.
Can I change data?
Yes. INSERT, UPDATE, DELETE, CREATE TABLE, and other SQLite statements run against the browser copy. Each run is atomic. Explicit BEGIN, COMMIT, SAVEPOINT, ATTACH, and setting PRAGMA values are disabled.
Why is a result preview limited?
The preview defaults to 2,000 rows and can show up to 10,000. A memory budget also bounds the result. Use WHERE and LIMIT to narrow a query; Export data downloads a complete read-only SELECT result separately from the preview.
How do cancellations work?
Queries yield between row batches and statements. A single busy SQLite step can take up to the 15-second execution deadline before it stops. A cancelled or failed run rolls back its changes.
Try a concrete task
Open a sample dataset and inspect its tables and relationships. Use the SQL reference for examples with expected output, or follow a guided practice path. To investigate query access patterns, select one SELECT and use Explain in the workspace.