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

JOINKeepsUse it when
INNEROnly rows that match in both tablesYou want employees that have a department
LEFTAll left rows, matching right rows or NULLYou want every employee, even without a department
RIGHTAll right rows, matching left rows or NULLYou want every department, even empty ones
FULL OUTERAll rows from both tablesYou want to find rows missing on either side
CROSSEvery left row paired with every right rowYou 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.