Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

テーブル関数

テーブル関数 は、テーブルを構築するための機能です。

使用方法

テーブル関数は、SELECTクエリのFROM 句で使用できます。たとえば、fileテーブル関数を使って、ローカル マシン上のファイルからデータをSELECTできます。

Querybash
echo "1, 2, 3" > example.csv
Responsetext
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘

現在のクエリ内でのみ利用可能な一時テーブルを作成するために、テーブル関数 を使用することもできます。たとえば、次のとおりです。

Querysql
SELECT * FROM generateSeries(1,5);
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

テーブルは、クエリの終了時に削除されます。

テーブル関数は、次の構文を使用してテーブルを作成するための方法として利用できます。

Querysql
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()

例:

Querysql
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
Responseresponse
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘

最後に、テーブル関数を使ってテーブルにデータを INSERT することもできます。たとえば、 前の例で作成したテーブルの内容を、 再度 file テーブル関数を使ってディスク上のファイルに書き出せます:

Querysql
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
Querybash
cat numbers.csv
1
2
3
4
5
Navigation