trdsql JOIN
Posted on:
これまで一つのファイルにSQLを実行してきましたが、複数のファイルをJOINするSQLも実行できます。
以下の2つのCSVファイルがあったとして、
abc.csv
price.csv
以下のように連結するのが、JOINです。
trdsqlではテーブルの代わりにファイル名を使用すれば、そのままSQLのJOINが書けます。
同じ件数で対応する同じ列がある1対1のJOINのため、INNER JOINと同じ結果になります。
LEFT JOINの場合は、先に指定したabc.csvの行はすべて表示され、price.csvは対応する行がある場合のみ表示されます。
今回はヘッダーがないCSVなので、列名はc1,c2…の共通になるため、一番左側(c1)が共通の列としてUSINGを使用してます。これは ON a.c1 = p.c1 と同じ意味になります。
複数のCSVをJOINするときには、ヘッダーの有無を統一しておく必要があります。
しかしながら、自動判別可能な拡張子になっていれば、CSVとLTSV等の混在は可能です。
unit.ltsv
先程のCSVのJOINの結果に更にLTSVをJOINします。