> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> 一時テーブルの作成に関するドキュメント

# CREATE TEMPORARY TABLE

<div id="temporary-table-support">
  ## 一時テーブルのサポート
</div>

<Note>
  一時テーブルはレプリケーションされない点に注意してください。そのため、一時テーブルに挿入したデータが他のレプリカで利用できるとは限りません。一時テーブルは、単一のセッション内で小規模な外部データセットをクエリまたは結合する際に主に役立ちます。
</Note>

ClickHouse は、次の特性を持つ一時テーブルをサポートしています。

* 一時テーブルは、接続が失われた場合を含め、セッションの終了時に消滅します。
* エンジンを指定しない場合、一時テーブルには Memory テーブルエンジンが使用されます。また、Replicated および `KeeperMap` エンジン以外の任意のテーブルエンジンを使用できます。
* 一時テーブルには DB を指定できません。一時テーブルはデータベースの外部に作成されます。
* `ON CLUSTER` を使用した distributed DDL クエリで、クラスター内のすべてのサーバーに一時テーブルを作成することはできません。このテーブルは現在のセッションにのみ存在します。
* 一時テーブルが別のテーブルと同じ名前であり、クエリで DB を指定せずにテーブル名を指定した場合は、一時テーブルが使用されます。
* distributed query processing では、クエリで使用される Memory エンジンの一時テーブルがリモートサーバーに渡されます。

<div id="syntax">
  ## 構文
</div>

一時テーブルを作成するには、次の構文を使用します。

```sql theme={null}
CREATE [OR REPLACE] TEMPORARY TABLE [IF NOT EXISTS] table_name
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) [ENGINE = engine]
```

通常、一時テーブルを手動で作成することはありません。クエリで外部データを使用する場合や、分散 `(GLOBAL) IN` を使用する場合に作成されます。詳細については、該当するセクションを参照してください。

一時テーブルの代わりに、[ENGINE = Memory](/docs/ja/reference/engines/table-engines/special/memory) を使用するテーブルを使用できます。
