Embellissez vos requêtes SQL avec une indentation intelligente.
Dernière mise à jour
Mots-clés
Indentation
EntréeCollez du SQL pour commencer
Collez ou saisissez du SQL ici…
Sortie
Le SQL formaté apparaît ici — réindentez, alignez et copiez en un clic.
C'est quoi un formateur SQL ?
Un formateur SQL prend une requête dense, sur une seule ligne ou générée automatiquement, et la réécrit avec une indentation cohérente et des sauts de ligne. Développeurs et analystes l'utilisent pour relire des jointures, déboguer des filtres, nettoyer la sortie d'un ORM, partager des requêtes dans un ticket ou de la documentation, et décortiquer un plan d'exécution.
La mise en forme ne change pas *ce que fait* la requête — elle change la facilité de lecture pour un humain. Une fois la disposition uniforme, la relation entre SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING et ORDER BY devient bien plus simple à analyser, surtout dans les requêtes qui mélangent sous-requêtes et CTE.
SQL existe en plusieurs *dialectes* — PostgreSQL, MySQL, SQLite, T-SQL (Microsoft SQL Server), Oracle et BigQuery étendent chacun la norme avec leur propre syntaxe. Un bon formateur comprend le dialecte choisi pour ne pas casser la syntaxe propre à un éditeur.
Ce que vous allez apprendre en formatant du SQL
Chaque clause SQL a un rôle précis : SELECT choisit les colonnes, FROM les tables, WHERE filtre les lignes, GROUP BY agrège et ORDER BY trie.
Une indentation lisible révèle les sous-requêtes, jointures et conditions imbriquées qui restent invisibles sur une seule ligne.
Le dialecte compte — RETURNING, LIMIT, TOP et les identifiants entre crochets ([col] vs "col") ne sont pas portables d'une base à l'autre.
Formater une requête SQL, étape par étape
1
Coller la requête
Déposez votre SQL dans la zone de saisie. Ça marche aussi bien pour du SQL sur une ligne, généré par un ORM ou déjà partiellement mis en forme.
2
Choisir le dialecte
Sélectionnez PostgreSQL, MySQL, SQLite ou T-SQL pour que le formateur respecte les mots-clés spécifiques comme LIMIT, TOP ou RETURNING.
3
Régler le style
Choisissez la casse des mots-clés (les majuscules sont la norme) et la largeur d'indentation (2 ou 4 espaces). La plupart des équipes optent pour mots-clés en majuscules + indentation à 2 espaces.
4
Lire la sortie formatée
Chaque clause occupe sa propre ligne, les jointures sont alignées et les sous-requêtes indentées. Les commentaires sont conservés.
5
Recopier dans votre projet
Collez la requête formatée dans votre migration, votre raw query d'ORM ou votre outil de BI. Tout reste dans votre navigateur.
Antisèche des clauses SQL
Les clauses qu'on retrouve dans 95 % des requêtes SELECT, dans l'ordre où elles sont conceptuellement traitées. Documentations officielles : PostgreSQL SELECT, MySQL SELECT.
Clause
Rôle
Exemple
SELECT
Choisit les colonnes/expressions à renvoyer
SELECT id, name
FROM
Indique la ou les tables sources
FROM users
JOIN ... ON
Combine les lignes d'une autre table
JOIN orders ON orders.user_id = users.id
WHERE
Filtre les lignes avant l'agrégation
WHERE active = true
GROUP BY
Regroupe les lignes ayant les mêmes valeurs
GROUP BY country
HAVING
Filtre les groupes agrégés
HAVING COUNT(*) > 10
ORDER BY
Trie le résultat
ORDER BY created_at DESC
LIMIT / OFFSET
Pagine le résultat
LIMIT 20 OFFSET 40
WITH ... AS
Common Table Expression (CTE) — nomme une sous-requête
WITH active AS (...)
Exemples SQL à tester
Formater une requête simple
Entrée
select id,name from users where active=trueorderby created_at desclimit10
Formaté
SELECT id, nameFROM usersWHERE active =trueORDERBY created_at DESCLIMIT10;
Chaque clause est désormais sur sa propre ligne et la liste de colonnes est indentée. Relire cette requête en code review devient 10× plus simple.
Décortiquer une jointure
Entrée
select u.name,o.total from users u join orders o on o.user_id=u.id where o.total>100
Formaté
SELECT u.name, o.totalFROM users uJOIN orders o ON o.user_id = u.idWHERE o.total >100;
Mettre des alias sur les tables (users u, orders o) raccourcit la liste de colonnes. La ligne JOIN ... ON rend explicite la relation entre les deux tables.
Lire une sous-requête imbriquée
Entrée
select*from users where id in(select user_id from enrollments where course_id=5)
Formaté
SELECT*FROM usersWHERE id IN(SELECT user_idFROM enrollmentsWHERE course_id =5);
Indenter la sous-requête met clairement en évidence la dépendance. Beaucoup de sous-requêtes peuvent être réécrites en JOIN ou en CTE une fois la structure visible.
Erreurs courantes lors du formatage SQL
Croire qu'une requête SQL bien formatée est forcément *correcte*. Le formatage change la mise en page, pas la sémantique — une requête au look impeccable peut très bien renvoyer un résultat faux.
Modifier la requête pendant qu'on la formate et oublier de retester le résultat.
Ignorer le dialecte — LIMIT 10 en PostgreSQL, TOP 10 en T-SQL et FETCH FIRST 10 ROWS ONLY en SQL standard font la même chose.
FAQ — Formateur SQL
Le formatage modifie-t-il le résultat de la requête ?
Non. La mise en forme ne touche qu'aux espaces et à la casse. La base de données analyse les deux versions vers le même plan d'exécution, les lignes renvoyées sont donc strictement identiques.
Pourquoi formater du SQL ?
Un SQL lisible est plus facile à déboguer, à relire en code review, à enseigner et à maintenir — surtout dans une requête qui mélange plusieurs jointures, sous-requêtes, CTE ou window functions.
C'est quoi un dialecte SQL ?
Un dialecte SQL est une extension du SQL standard propre à un moteur de base. PostgreSQL, MySQL, SQLite, T-SQL (SQL Server), Oracle et BigQuery ont chacun leur syntaxe spécifique au-delà de la norme.
Un formateur SQL peut-il réparer une requête cassée ?
Un formateur peut révéler des problèmes de syntaxe en réémettant la requête sous une forme structurée, mais il ne connaît pas votre schéma et ne peut pas garantir que la requête est logiquement correcte.
Faut-il mettre les mots-clés SQL en majuscules ?
La plupart des conventions de style recommandent les mots-clés en majuscules (SELECT, FROM, WHERE) et les identifiants en minuscules : le contraste visuel fait ressortir la structure de la requête. Choisissez un style et restez cohérent.