Watch a SQL Query run.

QueryTrace plays your statement over live tables in the browser and shows what each clause did to the rows.

SELECT V.VENUE_NAME, SUM(R.SEATS) AS 'Saturday Seats'FROM VENUE V

Wires run along VENUE_ID and the matched rows light up on both tables.

QueryTrace at the JOIN stage: wires connect VENUE_ID between the VENUE and SCREENING tables and matched rows are lit.

Every clause shows its work.

Joined
The RESERVATION table at the JOIN stage with matched rows lit.
Filtered
The RESERVATION table at the WHERE stage with failing rows faded.
Grouped
The RESERVATION table at the GROUP BY stage, each row tinted by venue.
Traced
The RESERVATION table with the five rows behind one result outlined in mint.

Your own schema works too.

Paste the CREATE TABLE statements from your database. Exports from PostgreSQL and SQL Server paste in as they are, and so do MySQL and Oracle.

Everything runs on SQLite compiled to WebAssembly, inside the tab. Nothing you type is sent anywhere.

The schema dialog: five preloaded databases and a text area for your own CREATE TABLE statements.

The tracer opens on a four-table join you can step through right now.