Free SQL Playground: Practice JOINs, HAVING, CASE & More
Create dummy tables, build JOIN, GROUP BY and HAVING queries visually, write your own SQL with a smart editor, and learn INSERT, UPDATE, DELETE, CASE and more from runnable examples.
Run a query to see results here.
How SQL JOINs work
| JOIN | Keeps | Use it when |
|---|---|---|
| INNER | Only rows that match in both tables | You want employees that have a department |
| LEFT | All left rows, matching right rows or NULL | You want every employee, even without a department |
| RIGHT | All right rows, matching left rows or NULL | You want every department, even empty ones |
| FULL OUTER | All rows from both tables | You want to find rows missing on either side |
| CROSS | Every left row paired with every right row | You need all combinations |
Everything runs in your browser on SQLite (sql.js). Nothing you type is uploaded.
Frequently asked questions
Which SQL dialect does it use?
SQLite, so most standard SQL (SELECT, JOIN, GROUP BY, subqueries, CTEs) works as in other databases.
Is my data saved or uploaded?
No. The database lives in memory in your browser tab and is cleared when you refresh.
Why does RIGHT or FULL JOIN show an error?
They need a recent SQLite build. If your browser build is older, swap the tables and use a LEFT JOIN instead.
Need data to practice with?
Generate fake rows, then paste the SQL INSERTs into the editor.