Hoe SQL-query's te formatteren

· 3 min leestijd

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

Hoe SQL te formatteren

  1. 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.
  2. Configureer de opties — kies de inspringgrootte en of de sleutelwoorden in hoofdletters moeten staan. Deze instellingen komen overeen met de stijlgids van uw project.
  3. 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

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.