Requêtes SQL sur des CSV
SQL over CSV
Exécute du SQL sur des fichiers CSV ou TSV déposés, dans le navigateur — SELECT, WHERE, GROUP BY et HAVING, ORDER BY, LIMIT, CASE et une jointure entre deux tables — avec la grammaire affichée sur la page.
Déposez un CSV et interrogez-le en SQL, dans le navigateur, sans rien installer et sans rien envoyer. Deux fichiers vous donnent un JOIN. La grammaire prise en charge est imprimée sur la page, ce qui répond au « pourquoi cela n’a-t-il pas marché » plus vite qu’un message d’erreur ne le peut.
Déposez des fichiers CSV ou TSV (plusieurs, si vous voulez)
Lu dans cet onglet. Rien n’est envoyé. Les fichiers écrits par Excel en coréen, en japonais, en chinois et en occidental (CP949, Shift_JIS, GBK, Windows-1252) sont reconnus.
SQL
La syntaxe acceptée
SELECT [DISTINCT] colonne, expression [AS alias], table.* , *
FROM table [alias]
[ [INNER|LEFT] JOIN table [alias] ON condition ] -- deux tables au maximum
[WHERE condition]
[GROUP BY expression, …] [HAVING condition]
[ORDER BY expression|alias|numéro [ASC|DESC], …]
[LIMIT n [OFFSET m]]
conditions: = <> < <= > >= AND OR NOT IN (…) LIKE 'Seoul%' BETWEEN a AND b IS [NOT] NULL
expressions: + - * / % || (concaténer du texte) CASE WHEN … THEN … ELSE … END CAST(x AS INTEGER|REAL|TEXT)
agrégats: COUNT(*) COUNT(DISTINCT x) SUM AVG MIN MAX GROUP_CONCAT(x, ',')
fonctions: UPPER LOWER LENGTH TRIM LTRIM RTRIM SUBSTR(s, début, longueur) LEFT RIGHT REPLACE INSTR CONCAT
COALESCE IFNULL NULLIF IIF(condition, a, b) ROUND(x, décimales) ABS FLOOR CEIL SQRT POWER MOD TYPEOF
noms: les noms de colonne accentués ou en hangul passent tels quels ; un nom qui contient une espace s’écrit "nom" ou `nom` -- commentaire, /* commentaire */NULL n’est jamais vrai dans une comparaison, LIKE ne tient pas compte de la casse, et une division par zéro donne NULL. Dans une requête avec agrégats, une colonne absente du GROUP BY prend la valeur de la première ligne du groupe, comme dans SQLite. Il n’y a ni sous-requêtes ni fonctions de fenêtrage.
Comment s’en servir
Déposez un fichier ou plusieurs
Chacun devient une table nommée d’après le fichier. Renommez-la dans la liste au-dessus de l’éditeur si le nom est pénible à taper.
Écrivez la requête
SELECT, WHERE, GROUP BY avec HAVING, ORDER BY, LIMIT, CASE et un JOIN sur deux tables. Ctrl+Entrée l’exécute. Les boutons d’exemple sous le champ remplissent une requête qui marche contre vos propres noms de tables.
Lisez la position de l’erreur
Une requête en échec indique la ligne et la colonne où l’analyseur s’est arrêté, ce qui est d’ordinaire un jeton après l’erreur réelle.
Exportez le résultat
En CSV avec une marque d’ordre des octets pour Excel, ou en JSON pour tout ce qui lit du JSON.
Questions fréquentes
Les sous-requêtes et les fonctions de fenêtrage sont-elles prises en charge ?
Non. C’est un sous-ensemble de SQL écrit pour ce site, pas SQLite compilé en WebAssembly : SELECT avec WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, CASE et un JOIN sur deux tables, et c’est tout. Le panneau de grammaire est la liste exacte.
Mes données partent-elles vers un serveur ?
Non. L’analyseur et l’évaluateur tournent tous deux dans cet onglet. C’est la raison pour laquelle l’ensemble de fonctionnalités est plus petit que celui d’une vraie base de données, et c’est aussi la raison pour laquelle vous pouvez le pointer sur un fichier que vous n’enverriez jamais.
Puis-je employer des noms de colonnes coréens ?
Oui, tels quels. Un nom contenant une espace demande des guillemets — soit des "guillemets doubles", soit des accents graves.
Le message d’erreur est en coréen
Les vingt-cinq messages d’analyse et d’évaluation du moteur de requêtes n’existent qu’en coréen, parce que chacun est vérifié mot pour mot dans ses tests. Le panneau de syntaxe à côté de l’éditeur est écrit dans les deux langues et couvre le même terrain.
À alimenter depuis
Formateur SQL
SQL Formatter
Met en forme une requête SQL avec casse des mots-clés, indentation et placement des virgules réglables, pour les principaux dialectes.
Jointure de deux CSV
CSV Join
Joint deux tableaux sur une colonne clé en jointure interne, gauche, droite ou externe, et montre les lignes restées sans correspondance.
Filtrer et trier un CSV
CSV Filter & Sort
Filtre les lignes selon des conditions par colonne, trie sur plusieurs clés et choisit les colonnes à garder.
Tableau croisé dynamique
Pivot Table
Regroupe les lignes selon une ou deux colonnes et agrège en nombre, somme, moyenne, minimum, maximum ou valeurs distinctes.
Ensuite
Ces outils acceptent ce que celui-ci produit : le résultat peut y aller directement.
Graphique rapide
Quick Chart
Trace un graphique en barres, en courbes, en aires, en secteurs ou en nuage de points à partir d’un tableau, avec des axes à graduations rondes et une légende, exportable en SVG ou en PNG.
Jointure de deux CSV
CSV Join
Joint deux tableaux sur une colonne clé en jointure interne, gauche, droite ou externe, et montre les lignes restées sans correspondance.
CSV vers Excel
CSV to Excel
Assemble un ou plusieurs fichiers CSV en un classeur .xlsx avec des colonnes typées, une ligne d’en-tête et des filtres.
Visionneuse CSV
CSV Viewer
Ouvre un gros fichier délimité avec détection des types, statistiques par colonne et tri, sans tout charger en mémoire.
Nettoyeur de CSV
CSV Cleaner
Rogne les cellules, normalise les en-têtes, redresse les formats de nombre et de date et signale les lignes qui n’ont pas le bon nombre de colonnes.
Convertisseur de devises
Currency Converter
Convertit entre une trentaine de devises aux cours de référence quotidiens de la BCE, croisés via l’euro, ou au taux que vous saisissez vous-même.