Aller au contenu
Tout en local

Extracteur de tables et colonnes SQL

Liste toutes les tables, jointures et colonnes qu'une requête SQL lit, regroupées par clause.

Entrée
Sortie

Extracteur de tables et colonnes SQL

Collez une requête SQL SELECT et cet outil en extrait précisément : les tables interrogées, les jointures entre elles, et les colonnes de la liste SELECT, des clauses WHERE, GROUP BY et ORDER BY. Conçu pour le moment où vous hériterez d'une requête de rapport, d'un endpoint lent ou de la migration d'une autre personne et aurez besoin de connaître son impact avant d'apporter des modifications.

Les alias de table sont résolus automatiquement : « o.total » dans une requête commençant par « FROM orders o » est reporté contre le nom réel de la table. Chaque JOIN est listé avec son type — inner, left, right, full, cross ou jointure comma — accompagné de sa condition ON ou liste USING, pour que la structure de la requête soit claire. Désactivez « Afficher colonnes WHERE / GROUP BY / ORDER BY » pour ne voir que ce qui est sélectionné, ou désactivez « Afficher conditions de jointure » pour conserver la liste des JOINs. Basculez entre un aperçu par clause et une liste de dépendances plate adaptée à la documentation.

Les expressions de table commune (WITH …) et les sous-requêtes dans la clause FROM sont reconnues : une CTE est listée avec les tables qu'elle interroge, et une table dérivée apparaît comme une sous-requête. Lorsqu'une requête joint deux tables ou plus et qu'une colonne n'a pas de préfixe de table, l'outil ne peut pas déterminer à quelle table elle appartient — avec « Avertir colonnes sans table » activé, cette colonne est signalée. Collez plusieurs instructions séparées par des points-virgules et chacune est numérotée et analysée indépendamment ; tout ce qui n'est pas une requête SELECT est noté et ignoré.

C'est un lecteur de motifs textuels, pas une connexion de base de données : il n'exécute jamais le SQL, ne se connecte jamais à un serveur, et la requête ne quitte jamais votre navigateur. Il est sécurisé de coller des requêtes de production, y compris celles avec des noms réels de table et colonne. Une fois terminé, copiez le rapport, téléchargez-le en .txt, ou envoyez-le à un autre outil pour continuer.

FAQ

Exécute-t-elle ou valide-t-elle le SQL ?
Non. Elle lit la requête en tant que texte pour trouver les références de table, jointure et colonne — elle n'exécute jamais rien contre une base de données, donc elle fonctionne même pour le SQL auquel vous n'avez pas actuellement de connexion.
Comment sait-elle à quelle table appartient une colonne ?
Elle crée une carte d'alias à partir des clauses FROM et JOIN, donc "o.id" se résout à "orders" si la requête a "FROM orders o". Une colonne sans préfixe est assignée à la seule table en portée, ou marquée comme ambiguë quand il y en a plus d'une.
Supporte-t-elle les JOINs, les CTE et les sous-requêtes ?
Oui. Chaque type de JOIN est reconnu avec sa condition, une clause WITH est séparée comme une CTE nommée avec les tables qu'elle lit, et une sous-requête dans la clause FROM est listée comme une table dérivée plutôt qu'une vraie.
Puis-je coller plus d'une requête à la fois ?
Oui. Séparez les requêtes avec des points-virgules et chacune est numérotée et analysée indépendamment. Une requête qui n'est pas SELECT est notée plutôt que mal interprétée.
Mon SQL est-il téléchargé quelque part ?
Non. L'analyse s'exécute entièrement dans votre navigateur — votre requête, y compris tous les noms réels de table et de colonne, ne quitte jamais votre appareil.