CSVにSQLで問い合わせ
SQL over CSV
置いたCSVやTSVにブラウザ内でSQLを実行し、SELECT・WHERE・GROUP BY/HAVING・ORDER BY・LIMIT・CASEと2表のJOINまで扱います。
CSVを置いて、ブラウザの中でSQLを書いて問い合わせます。何もインストールせず、何もアップロードしません。ファイルを2つ置けばJOINが使えます。対応する文法はページに書き出してあり、「なぜ動かなかったのか」にはエラーメッセージより速く答えます。
CSV・TSV ファイルを置いてください(複数でも構いません)
このタブの中で読みます。アップロードはしません。韓国語・日本語・中国語・欧米版の Excel が保存したファイル(CP949, Shift_JIS, GBK, Windows-1252)を判別します。
SQL
使える文法
SELECT [DISTINCT] 列, 式 [AS 別名], 表.* , *
FROM 表 [別名]
[ [INNER|LEFT] JOIN 表 [別名] ON 条件 ] -- 表は 2 つまで
[WHERE 条件]
[GROUP BY 式, …] [HAVING 条件]
[ORDER BY 式|別名|番号 [ASC|DESC], …]
[LIMIT n [OFFSET m]]
条件: = <> < <= > >= AND OR NOT IN (…) LIKE 'Seoul%' BETWEEN a AND b IS [NOT] NULL
式: + - * / % ||(文字列の連結) CASE WHEN … THEN … ELSE … END CAST(x AS INTEGER|REAL|TEXT)
集計: COUNT(*) COUNT(DISTINCT x) SUM AVG MIN MAX GROUP_CONCAT(x, ',')
関数: UPPER LOWER LENGTH TRIM LTRIM RTRIM SUBSTR(s, 開始, 長さ) LEFT RIGHT REPLACE INSTR CONCAT
COALESCE IFNULL NULLIF IIF(条件, a, b) ROUND(x, 桁) ABS FLOOR CEIL SQRT POWER MOD TYPEOF
名前: 日本語の列名はそのまま使えます。空白を含む名前は "名前" か `名前` で囲みます -- コメント, /* コメント */NULL はどの比較でも真になりません。LIKE は大文字と小文字を区別せず、0 で割ると NULL になります。集計の問い合わせでは、GROUP BY にない列はそのグループの最初の行の値を取ります(SQLite と同じです)。副問い合わせとウィンドウ関数はありません。
使い方
ファイルを1つ以上置きます
それぞれがファイル名を取ったテーブルになります。名前が打ちにくければ、エディタの上の一覧で付け替えられます。
クエリを書きます
SELECT、WHERE、HAVINGを伴うGROUP BY、ORDER BY、LIMIT、CASE、そして2表のJOINです。Ctrl+Enterで実行します。入力欄の下の例のボタンを押すと、自分のテーブル名に合わせた動くクエリが入ります。
エラーの位置を読みます
失敗したクエリは、パーサが止まった行と桁を報告します。たいていは、実際の誤りより1トークン先です。
結果を書き出します
Excel向けにBOM付きのCSVか、JSONを読むもの向けにJSONです。
よくある質問
サブクエリやウィンドウ関数に対応していますか。
対応していません。これはSQLiteをWebAssemblyに落としたものではなく、このサイトのために書いたSQLの部分集合です。WHERE、GROUP BY、HAVING、ORDER BY、LIMIT、CASEを伴うSELECTと2表のJOIN、それがすべてです。文法のパネルにある一覧がそのままの範囲です。
データはサーバーに送られますか。
送られません。パーサも評価器もこのタブの中で動きます。機能が本物のデータベースより小さいのはそれが理由ですし、絶対にアップロードしないファイルに向けられるのも同じ理由です。
韓国語の列名を使えますか。
そのまま使えます。空白の入った名前には引用符が要ります。二重引用符かバックティックのどちらかです。
エラーメッセージが韓国語で出ます。
クエリエンジンの25個の構文解析と評価のメッセージは韓国語だけです。どれもテストで一字一句そのまま検証されているからです。エディタの横の構文のパネルは両方の言語で書かれていて、同じ範囲を扱います。
ここから渡せます
次の一手
このツールが出したものをそのまま受け取れる道具です。
かんたんグラフ作成
Quick Chart
表から棒・折れ線・面・円・散布図を描き、きりのよい目盛りと凡例を付けてSVGかPNGで書き出します。
CSV結合(VLOOKUP)
CSV Join
キー列で2つの表を内部・左・右・外部結合し、相手のいない行も一覧します。
CSVをExcelに
CSV to Excel
1つでも複数でもCSVを、列の型・見出し行・フィルタを付けた.xlsxブックにまとめます。
CSVビューアー
CSV Viewer
大きな区切りファイルを丸ごとメモリに載せずに開き、列の型・統計・並べ替えを表示します。
CSVクリーニング
CSV Cleaner
セルの空白を落とし、見出しを揃え、数値と日付の書式を直し、列数の合わない行を報告します。
為替レート換算
Currency Converter
欧州中央銀行の日次基準レートでユーロを経由して約30通貨を換算し、銀行に言われたレートを自分で入れることもできます。