Hoe SQL-query's te formatteren
Rommelige SQL is een van de snelste manieren om bugs te introduceren. Wanneer een query op één lange regel staat zonder inspringing, is het moeilijk om te zien welke voorwaarden van toepassing zijn op welke joins, waar subquery's beginnen en eindigen, of de logica correct is.
Waarom formattering ertoe doet
- Debuggen — een goed geformatteerde query maakt logische fouten zichtbaar. U kunt de stroom volgen van SELECT naar WHERE en vervolgens naar JOIN zonder te raden.
- Code-review — reviewers lezen geformatteerde SQL in seconden. Een query op één regel dwingt hen om deze eerst mentaal te analyseren.
- Onderhoud — wanneer u maanden later op een query terugkomt, vertelt de formattering u in één oogopslag wat hij doet.
- Samenwerking — consistente formattering binnen een team betekent dat iedereen SQL op dezelfde manier leest.
Hoe SQL te formatteren
- Plak uw SQL — voer een geminifieerde of rommelige query in de formatter in. Hij behandelt SELECT, INSERT, UPDATE, DELETE, CREATE TABLE, evenals complexe query's met subquery's en joins.
- Configureer de opties — kies de inspringgrootte en of de sleutelwoorden in hoofdletters moeten staan. Deze instellingen komen overeen met de stijlgids van uw project.
- Kopieer het resultaat — de geformatteerde SQL is klaar om opnieuw te plakken in uw editor, uw database-client of uw documentatie.
Hoe goede formattering eruitziet
Een query als 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 wordt:
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
Elke clausule begint op zijn eigen regel. Voorwaarden zijn ingesprongen onder hun bovenliggende clausule. Joins en hun ON-voorwaarden zijn duidelijk gepaard.
Tips
- Formatteer voor het commiten — laat uw SQL door een formatter lopen voordat u deze toevoegt aan versiebeheer. Dit houdt diffs schoon en concentreert reviews op de logica, niet op de stijl.
- Gebruik consistente sleutelwoord-hoofdletters — kies hoofdletters of kleine letters en houd u eraan in uw hele project. Gemengde stijlen maken query's moeilijk te lezen.
- Verdeel complexe query's — als een query moeilijk te lezen blijft, zelfs geformatteerd, verdeel deze in CTE's (Common Table Expressions) of views. Formattering kan een fundamenteel complexe logica niet corrigeren.
- Controleer de syntax-highlighting — een goede formatter biedt highlighting die sleutelwoorden, strings en getallen onderscheidt, wat helpt om typefouten te spotten.
Veelgestelde vragen
Moet u SQL-sleutelwoorden in hoofdletters schrijven?
Het is een breed gevolgde conventie om SQL-sleutelwoorden in hoofdletters te schrijven (SELECT, FROM, WHERE) en tabel- of kolomnamen in kleine letters. Dit maakt query's gemakkelijker visueel te lezen. De meeste stijlgidsen bevelen het aan, maar geen enkele database-engine legt het op.
Verandert formattering de uitvoering van de query?
Nee. Spaties en inspringing hebben geen effect op SQL-uitvoering. Formattering is puur voor menselijke leesbaarheid. Een geminifieerde en een ingesprongen query produceren hetzelfde resultaat.
Welke inspringgrootte te gebruiken?
Twee of vier spaties zijn beide gangbaar. Kies wat uw team gebruikt en blijf consistent. De meeste SQL-formatters maken het mogelijk om dit te configureren.
Wordt mijn SQL naar een server verzonden?
Nee. De formattering vindt volledig plaats in uw browser. Uw query's verlaten nooit uw apparaat.