> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> テーブル関数 に関するドキュメント

# テーブル関数

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

| ページ                                                                                          | 説明                                                                                                                                                                                                                       |
| -------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [azureBlobStorage](/ja/reference/functions/table-functions/azureBlobStorage)                 | Azure Blob Storage 内のファイルに対して選択や挿入を行うためのテーブル形式インターフェイスを提供します。s3 function に似ています。                                                                                                                                         |
| [azureBlobStorageCluster](/ja/reference/functions/table-functions/azureBlobStorageCluster)   | 指定したクラスター内の多数のノードで Azure Blob Storage のファイルを並列処理できます。                                                                                                                                                                    |
| [clusterAllReplicas](/ja/reference/functions/table-functions/cluster)                        | Distributed テーブルを作成せずに、クラスターのすべての分片 (`remote_servers` セクションで設定) にアクセスできます。                                                                                                                                               |
| [deltaLake](/ja/reference/functions/table-functions/deltalake)                               | Amazon S3 内の Delta Lake テーブルに対する読み取り専用のテーブル形式インターフェイスを提供します。                                                                                                                                                             |
| [deltaLakeCluster](/ja/reference/functions/table-functions/deltalakeCluster)                 | deltaLake テーブル関数の拡張です。                                                                                                                                                                                                   |
| [dictionary](/ja/reference/functions/table-functions/dictionary)                             | Dictionary データを ClickHouse テーブルとして表示します。Dictionary engine と同様に動作します。                                                                                                                                                     |
| [executable](/ja/reference/functions/table-functions/executable)                             | `executable` テーブル関数は、**stdout** に行を出力するスクリプト内で定義した user-defined function (UDF) の出力に基づいてテーブルを作成します。                                                                                                                       |
| [file](/ja/reference/functions/table-functions/file)                                         | s3 table function と同様に、ファイルに対する SELECT や INSERT のためのテーブル形式インターフェイスを提供するテーブルエンジンです。ローカルファイルを扱う場合は `file()` を、S3、GCS、MinIO などのオブジェクトストレージ内の bucket を扱う場合は `s3()` を使用します。                                                   |
| [fileCluster](/ja/reference/functions/table-functions/fileCluster)                           | クラスター内の複数ノードで、指定した path に一致するファイルを同時に処理できます。イニシエーターが worker ノードへの接続を確立し、ファイル path 内の globs を展開して、ファイル読み取り task を worker ノードに委譲します。各 worker ノードは次に処理するファイルをイニシエーターに問い合わせ、すべての task が完了するまで (すべてのファイルが読み取られるまで) これを繰り返します。 |
| [filesystem](/ja/reference/functions/table-functions/filesystem)                             | ファイルシステムへのアクセスを提供し、ファイルの一覧表示とそのメタデータおよび内容の取得を行います。                                                                                                                                                                       |
| [format](/ja/reference/functions/table-functions/format)                                     | 指定された入力フォーマットに従って引数からデータを解析します。structure argument が指定されていない場合は、データから抽出されます。                                                                                                                                              |
| [gcs](/ja/reference/functions/table-functions/gcs)                                           | Google Cloud Storage からデータを `SELECT` および `INSERT` するためのテーブル形式インターフェイスを提供します。`Storage Object User` IAM role が必要です。                                                                                                        |
| [fuzzQuery](/ja/reference/functions/table-functions/fuzzQuery)                               | 指定されたクエリ文字列にランダムな変化を加えます。                                                                                                                                                                                                |
| [fuzzJSON](/ja/reference/functions/table-functions/fuzzJSON)                                 | JSON 文字列にランダムな変化を加えます。                                                                                                                                                                                                   |
| [generateRandom](/ja/reference/functions/table-functions/generate)                           | 指定されたスキーマでランダムデータを生成します。そのデータでテストテーブルを埋めることができます。サポートされていない型もあります。                                                                                                                                                       |
| [mergeTreeTextIndex](/ja/reference/functions/table-functions/mergeTreeTextIndex)             | MergeTree テーブル内のテキスト索引の Dictionary を表します。イントロスペクションに使用できます。                                                                                                                                                              |
| [mergeTreeProjection](/ja/reference/functions/table-functions/mergeTreeProjection)           | MergeTree テーブル内の一部の projection の内容を表します。イントロスペクションに使用できます。                                                                                                                                                               |
| [mergeTreeIndex](/ja/reference/functions/table-functions/mergeTreeIndex)                     | MergeTree テーブルの索引ファイルおよび marks ファイルの内容を表します。イントロスペクションに使用できます。                                                                                                                                                           |
| [hdfs](/ja/reference/functions/table-functions/hdfs)                                         | HDFS 内のファイルからテーブルを作成します。このテーブル関数は url および file テーブル関数に似ています。                                                                                                                                                             |
| [hdfsCluster](/ja/reference/functions/table-functions/hdfsCluster)                           | 指定したクラスター内の多数のノードで HDFS のファイルを並列処理できます。                                                                                                                                                                                  |
| [hudi](/ja/reference/functions/table-functions/hudi)                                         | Amazon S3 内の Apache Hudi テーブルに対する読み取り専用のテーブル形式インターフェイスを提供します。                                                                                                                                                            |
| [ytsaurus](/ja/reference/functions/table-functions/ytsaurus)                                 | このテーブル関数では、YTsaurus クラスターからデータを読み取れます。                                                                                                                                                                                   |
| [hudiCluster Table Function](/ja/reference/functions/table-functions/hudiCluster)            | hudi テーブル関数の拡張です。指定したクラスター内の多数のノードで、Amazon S3 内の Apache Hudi テーブルのファイルを並列処理できます。                                                                                                                                         |
| [iceberg](/ja/reference/functions/table-functions/iceberg)                                   | Amazon S3、Azure、HDFS、またはローカルに保存された Apache Iceberg テーブルに対する読み取り専用のテーブル形式インターフェイスを提供します。                                                                                                                                   |
| [paimon](/ja/reference/functions/table-functions/paimon)                                     | Amazon S3、Azure、HDFS、またはローカルに保存された Apache Paimon テーブルに対する読み取り専用のテーブル形式インターフェイスを提供します。                                                                                                                                    |
| [icebergCluster](/ja/reference/functions/table-functions/icebergCluster)                     | iceberg テーブル関数の拡張で、指定したクラスター内の多数のノードから Apache Iceberg のファイルを並列処理できます。                                                                                                                                                    |
| [paimonCluster](/ja/reference/functions/table-functions/paimonCluster)                       | paimon テーブル関数の拡張で、指定したクラスター内の多数のノードから Apache Paimon のファイルを並列処理できます。                                                                                                                                                      |
| [input](/ja/reference/functions/table-functions/input)                                       | 指定した structure で server に送信されたデータを、別の structure を持つテーブルへ効率的に変換して挿入できるテーブル関数です。                                                                                                                                           |
| [jdbc](/ja/reference/functions/table-functions/jdbc)                                         | JDBC driver 経由で接続されたテーブルを返します。                                                                                                                                                                                           |
| [merge](/ja/reference/functions/table-functions/merge)                                       | 一時的な Merge テーブルを作成します。structure は、基になるテーブルのカラムのユニオンを使用し、共通の型を導出して決定されます。                                                                                                                                                 |
| [mongodb](/ja/reference/functions/table-functions/mongodb)                                   | リモートの MongoDB サーバーに保存されているデータに対して `SELECT` クエリを実行できます。                                                                                                                                                                   |
| [mysql](/ja/reference/functions/table-functions/mysql)                                       | リモートの MySQL サーバーに保存されているデータに対して `SELECT` および `INSERT` クエリを実行できます。                                                                                                                                                        |
| [null](/ja/reference/functions/table-functions/null)                                         | Null table engine を使用して、指定した構造の一時テーブルを作成します。この関数は、テスト作成やデモのために使用されます。                                                                                                                                                    |
| [timeSeriesMetrics](/ja/reference/functions/table-functions/timeSeriesMetrics)               | timeSeriesMetrics は、table engine が TimeSeries engine のテーブル `db_name.time_series_table` で使用される Metrics テーブルを返します。                                                                                                         |
| [timeSeriesSelector](/ja/reference/functions/table-functions/timeSeriesSelector)             | セレクターで絞り込み、指定した interval 内の timestamps を持つ時系列を TimeSeries テーブルから読み取ります。                                                                                                                                                  |
| [timeSeriesTags](/ja/reference/functions/table-functions/timeSeriesTags)                     | timeSeriesTags table function は、table engine が TimeSeries engine のテーブル `db_name.time_series_table` で使用される Tags テーブルを返します。                                                                                                |
| [prometheusQueryRange](/ja/reference/functions/table-functions/prometheusQueryRange)         | TimeSeries テーブルのデータを使用して prometheus クエリを評価します。                                                                                                                                                                           |
| [zeros](/ja/reference/functions/table-functions/zeros)                                       | テスト用として、多数の行を生成する最速の method として使用されます。`system.zeros` および `system.zeros_mt` システムテーブルに似ています。                                                                                                                               |
| [primes](/ja/reference/functions/table-functions/primes)                                     | 素数を含む単一の `prime` カラムを持つテーブルを返します。                                                                                                                                                                                        |
| [timeSeriesData](/ja/reference/functions/table-functions/timeSeriesData)                     | timeSeriesData は、table engine が TimeSeries のテーブル `db_name.time_series_table` で使用される data テーブルを返します。                                                                                                                      |
| [numbers](/ja/reference/functions/table-functions/numbers)                                   | 整数のシーケンスを含む単一の `number` カラムを持つテーブルを返します。                                                                                                                                                                                 |
| [prometheusQuery](/ja/reference/functions/table-functions/prometheusQuery)                   | TimeSeries テーブルのデータを使用して prometheus クエリを評価します。                                                                                                                                                                           |
| [generate\_series (generateSeries)](/ja/reference/functions/table-functions/generate_series) | start から stop までの整数を両端を含めて格納する、単一の `generate_series` カラム (UInt64) を持つテーブルを返します。                                                                                                                                          |
| [odbc](/ja/reference/functions/table-functions/odbc)                                         | ODBC 経由で接続されたテーブルを返します。                                                                                                                                                                                                  |
| [postgresql](/ja/reference/functions/table-functions/postgresql)                             | リモートの PostgreSQL サーバーに保存されているデータに対して `SELECT` および `INSERT` クエリを実行できます。                                                                                                                                                   |
| [redis](/ja/reference/functions/table-functions/redis)                                       | この table function を使用すると、ClickHouse を Redis と統合できます。                                                                                                                                                                     |
| [remote, remoteSecure](/ja/reference/functions/table-functions/remote)                       | Table function `remote` を使用すると、その場でリモートサーバーにアクセスできます。つまり、分散テーブルを作成する必要がありません。Table function `remoteSecure` は `remote` と同じですが、セキュアな connection を使用します。                                                                    |
| [s3 Table Function](/ja/reference/functions/table-functions/s3)                              | Amazon S3 および Google Cloud Storage 内のファイルを select/insert するためのテーブル形式インターフェイスを提供します。この table function は hdfs 関数に似ていますが、S3 固有の機能を備えています。                                                                                   |
| [s3Cluster](/ja/reference/functions/table-functions/s3Cluster)                               | s3 table function の拡張であり、指定したクラスター内の多数のノードで Amazon S3 および Google Cloud Storage のファイルを並列に processing できます。                                                                                                                |
| [sqlite](/ja/reference/functions/table-functions/sqlite)                                     | SQLite データベースに保存されているデータに対してクエリを実行できます。                                                                                                                                                                                  |
| [arrowFlight](/ja/reference/functions/table-functions/arrowflight)                           | Apache Arrow Flight サーバー経由で公開されたデータに対してクエリを実行できます。                                                                                                                                                                       |
| [url](/ja/reference/functions/table-functions/url)                                           | 指定された `format` と `structure` を使用して `URL` からテーブルを作成します                                                                                                                                                                    |
| [urlCluster](/ja/reference/functions/table-functions/urlCluster)                             | 指定したクラスター内の多数のノードから、URL のファイルを並列に processing できます。                                                                                                                                                                       |
| [view](/ja/reference/functions/table-functions/view)                                         | サブクエリをテーブルに変換します。この関数はビューを実装します。                                                                                                                                                                                         |
| [values](/ja/reference/functions/table-functions/values)                                     | 値でカラムを埋める一時ストレージを作成します。                                                                                                                                                                                                  |
| [loop](/ja/reference/functions/table-functions/loop)                                         | ClickHouse の loop table function は、クエリ結果を無限ループで返すために使用されます。                                                                                                                                                              |

<div id="usage">
  ## 使用方法
</div>

テーブル関数は、`SELECT`クエリの[`FROM`](/ja/reference/statements/select/from)
句で使用できます。たとえば、`file`テーブル関数を使って、ローカル
マシン上のファイルからデータを`SELECT`できます。

```bash title="Query" theme={null}
echo "1, 2, 3" > example.csv
```

```text title="Response" theme={null}
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
```

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

```sql title="Query" theme={null}
SELECT * FROM generateSeries(1,5);
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

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

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

```sql title="Query" theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
```

例:

```sql title="Query" theme={null}
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
```

```response title="Response" theme={null}
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
```

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

```sql title="Query" theme={null}
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
```

```bash title="Query" theme={null}
cat numbers.csv
1
2
3
4
5
```

<Note>
  [allow\_ddl](/ja/reference/settings/session-settings#allow_ddl) 設定が無効な場合、テーブル関数は使用できません。
</Note>
