Come formattare query SQL
Un SQL disordinato è uno dei modi più rapidi per introdurre bug. Quando una query è su una sola lunga riga senza indentazione, è difficile vedere quali condizioni si applicano a quali join, dove iniziano e finiscono le sottoquery, o se la logica è corretta.
Perché la formattazione conta
- Debug — una query ben formattata rende gli errori di logica visibili. Puoi seguire il flusso da SELECT a WHERE poi a JOIN senza indovinare.
- Revisione del codice — i revisori leggono SQL formattato in pochi secondi. Una query su una riga li costringe ad analizzarla mentalmente prima.
- Manutenzione — quando torni su una query mesi dopo, la formattazione ti dice cosa fa a colpo d'occhio.
- Collaborazione — una formattazione coerente in un team significa che tutti leggono il SQL allo stesso modo.
Come formattare SQL
- Incolla il tuo SQL — inserisci una query minificata o disordinata nel formattatore. Gestisce SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, così come query complesse con sottoquery e join.
- Configura le opzioni — scegli la dimensione di indentazione e se le parole chiave devono essere in maiuscolo. Queste impostazioni corrispondono alla guida di stile del tuo progetto.
- Copia il risultato — il SQL formattato è pronto per essere reincollato nel tuo editor, nel tuo client di database o nella tua documentazione.
Come appare una buona formattazione
Una query come select u.name, o.total from users u join orders o on u.id = o.user_id where o.total > 100 and u.active = 1 order by o.total desc diventa:
SELECT
u.name,
o.total
FROM users u
JOIN orders o
ON u.id = o.user_id
WHERE o.total > 100
AND u.active = 1
ORDER BY o.total DESC
Ogni clausola inizia sulla propria riga. Le condizioni sono indentate sotto la loro clausola padre. I join e le loro condizioni ON sono chiaramente abbinati.
Consigli
- Formatta prima di committare — passa il tuo SQL in un formattatore prima di aggiungerlo al controllo di versione. Questo mantiene i diff puliti e concentra le revisioni sulla logica, non sullo stile.
- Usa una capitalizzazione di parole chiave coerente — scegli maiuscolo o minuscolo e attieniti a quello in tutto il tuo progetto. Gli stili misti rendono le query difficili da leggere.
- Suddividi le query complesse — se una query resta difficile da leggere anche formattata, suddividila in CTE (Common Table Expressions) o in viste. La formattazione non può correggere una logica fondamentalmente complessa.
- Verifica la colorazione sintattica — un buon formattatore propone una colorazione che distingue parole chiave, stringhe e numeri, il che aiuta a individuare i refusi.
Domande frequenti
Bisogna scrivere le parole chiave SQL in maiuscolo?
È una convenzione ampiamente seguita scrivere le parole chiave SQL in maiuscolo (SELECT, FROM, WHERE) e i nomi di tabelle o colonne in minuscolo. Questo rende le query più facili da leggere visivamente. La maggior parte delle guide di stile lo raccomanda, ma nessun motore di database lo impone.
La formattazione cambia l'esecuzione della query?
No. Gli spazi e l'indentazione non hanno alcun effetto sull'esecuzione SQL. La formattazione è puramente per la leggibilità umana. Una query minificata e una indentata producono lo stesso risultato.
Quale dimensione di indentazione usare?
Due o quattro spazi sono entrambi comuni. Scegli ciò che il tuo team usa e resta coerente. La maggior parte dei formattatori SQL permette di configurarlo.
Il mio SQL viene inviato a un server?
No. La formattazione avviene interamente nel tuo browser. Le tue query non lasciano mai il tuo dispositivo.