Start from a CREATE TABLE schema (paste the DDL, or define columns by hand),
tick the columns you want, add WHERE / JOIN / ORDER BY
clauses, and the builder composes a runnable SELECT, INSERT, UPDATE or DELETE skeleton
in your dialect. It is a starter scaffold — always review the generated SQL before running it.
Runs entirely locally.
1 — Table schema
Paste CREATE TABLE DDL, then click Parse:
Or add a column manually:
Current columns
Use
Column
Type
Key
2 — Build query
Dialect:Params:
JOIN:
on=
ORDER BY:
Limit:
WHERE clauses (each row is AND-ed):
Column
Operator
Value
Values for the selected columns (left blank = placeholder / NULL)
Column
Value
Generated SQL
Scope: the builder understands common column types (INT, VARCHAR(n),
TEXT, DECIMAL, DATETIME, BOOLEAN, JSON …)
and emits a clean skeleton. It is not a full SQL engine — exotic DDL, stored procedures or
dialect-specific keywords fall back to plain identifiers, and every generated statement is a scaffold you
should sanity-check before use.
JOINs, GROUP BY and the WHERE/HAVING split
INNER JOIN keeps only rows that match on both sides; LEFT JOIN keeps every left row and fills the missing right side with NULL. WHERE filters rows before grouping, HAVING filters after aggregation — which is exactly why SUM(...) belongs in HAVING, not WHERE.
With GROUP BY, the SELECT list may only contain grouped columns and aggregates — anything else is the classic “not in GROUP BY” error.