テーブル関数 は、テーブルを構築するための機能です。
使用方法
テーブル関数は、SELECTクエリのFROM
句で使用できます。たとえば、fileテーブル関数を使って、ローカル
マシン上のファイルからデータをSELECTできます。
echo "1, 2, 3" > example.csv./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│ 1 │ 2 │ 3 │
└────┴────┴────┘現在のクエリ内でのみ利用可能な一時テーブルを作成するために、テーブル関数 を使用することもできます。たとえば、次のとおりです。
SELECT * FROM generateSeries(1,5);┌─generate_series─┐
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
└─────────────────┘テーブルは、クエリの終了時に削除されます。
テーブル関数は、次の構文を使用してテーブルを作成するための方法として利用できます。
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()例:
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;┌─generate_series─┐
│ 1 │
│ 2 │
│ 3 │
│ 4 │
│ 5 │
└─────────────────┘最後に、テーブル関数を使ってテーブルにデータを INSERT することもできます。たとえば、
前の例で作成したテーブルの内容を、
再度 file テーブル関数を使ってディスク上のファイルに書き出せます:
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;cat numbers.csv
1
2
3
4
5