Rendre le SQL lisible
Les requêtes copiées depuis des logs, générées par un ORM ou écrites à la hâte finissent souvent sur une seule longue ligne, difficile à lire et encore plus difficile à déboguer. Ce formateur SQL découpe votre requête en clauses claires — SELECT, FROM, JOIN, WHERE, GROUP BY, ORDER BY —, place chaque colonne et condition sur sa propre ligne et indente les sous-requêtes et les expressions CASE de manière cohérente. Le résultat est plus facile à relire, à comparer dans un gestionnaire de versions et à partager avec vos collègues.
Fonctionnalités
- 12 dialectes SQL, du SQL standard à MySQL, PostgreSQL, SQL Server, Oracle, BigQuery et Snowflake.
- Casse des mots-clés : MAJUSCULES, minuscules ou telle qu'écrite ; s'applique aux mots-clés, types de données et fonctions.
- Indentation avec 2 espaces, 4 espaces ou des tabulations.
- Instructions multiples séparées par des points-virgules.
- Commentaires préservés — aussi bien les commentaires de ligne
--que les blocs de commentaires/* */. - Copier ou télécharger le résultat sous forme de fichier
.sql. - Privé : le formateur s'exécute localement dans votre navigateur.
Avant et après
Une requête comme celle-ci :
select u.id, u.name, count(o.id) as orders from users u left join orders o on o.user_id = u.id where u.status = 'active' group by u.id, u.name order by orders desc;
devient :
SELECT
u.id,
u.name,
COUNT(o.id) AS orders
FROM
users u
LEFT JOIN orders o ON o.user_id = u.id
WHERE
u.status = 'active'
GROUP BY
u.id,
u.name
ORDER BY
orders DESC;
Conseils de style SQL
- Une clause par ligne. Commencer chaque clause principale sur une nouvelle ligne permet de voir la structure d'une requête en un coup d'œil.
- Utiliser des alias explicites. Les alias courts comme
uetosuffisent pour les petites requêtes, mais des alias descriptifs sont utiles dans les longs rapports. - Qualifier les noms de colonnes dans les jointures (
orders.user_idplutôt queuser_id) pour éviter toute ambiguïté. - Maintenir un formatage cohérent sur l'ensemble du projet afin que les diffs affichent les vraies modifications, et non les espaces.
Outils associés
Vous travaillez avec des résultats de requêtes ? Convertissez vos données exportées avec le convertisseur CSV en JSON, formatez vos réponses d'API avec le Formateur JSON, ou comparez deux versions d'une requête avec le Comparateur de texte.