Constructor de interogări SQL

Se pornește de la o schemă CREATE TABLE (se lipește DDL-ul sau se definesc coloanele manual), se bifează coloanele dorite, se adaugă clauzele WHERE / JOIN / ORDER BY, iar constructorul compune un schelet SELECT, INSERT, UPDATE sau DELETE executabil în dialectul ales. Este un schelet de pornire — SQL-ul generat se revizuiește întotdeauna înainte de rulare. Totul rulează local.
1 — Schema tabelei
Se lipește DDL-ul CREATE TABLE, apoi se apasă Analizează:
Sau se adaugă o coloană manual:
Coloanele curente
Utilizare Coloană Tip Cheie Actions
2 — Construiește interogarea
Dialect: Parametri:
JOIN:
ORDER BY: Limită:
Clauze WHERE:
(fiecare rând se leagă cu AND)
Column Operator Valoare Actions
Domeniu: constructorul înțelege tipurile comune de coloană (INT, VARCHAR(n), TEXT, DECIMAL, DATETIME, BOOLEAN, JSON …) și generează un schelet curat. Nu este un motor SQL complet — DDL exotic, proceduri stocate sau cuvinte cheie specifice unui dialect se reduc la identificatori simpli, iar fiecare instrucțiune generată este un schelet care trebuie verificat înainte de utilizare.
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.