> ## 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.

> System table listing hypothetical (what-if) projections defined in the current session

# system.hypothetical_projections

## 説明

現在のセッションで定義されたすべての仮説的 (what-if) projection を一覧表示します。[`CREATE HYPOTHETICAL PROJECTION`](/docs/ja/reference/statements/hypothetical-projection#create-hypothetical-projection) および [`EXPLAIN WHATIF`](/docs/ja/reference/statements/explain#explain-whatif) を参照してください。

内容はセッション単位のスコープを持ちます。各接続は自身の仮説的 projection のみを参照でき、現在のセッションで作成されたものがない場合、このテーブルは空になります。

現在の `(database, table)` はクエリ実行時に UUID を用いて解決されるため、`RENAME TABLE` の結果が反映され、削除されたテーブルのエントリは自動的に非表示になります。

## カラム

* `database` ([String](/docs/ja/reference/data-types/string)) — データベース名
* `table` ([String](/docs/ja/reference/data-types/string)) — テーブル名
* `name` ([String](/docs/ja/reference/data-types/string)) — PROJECTION 名
* `type` ([Enum8('Normal' = 0, 'Aggregate' = 1)](/docs/ja/reference/data-types/enum)) — PROJECTION の種類
* `sorting_key` ([Array(String)](/docs/ja/reference/data-types/array)) — PROJECTION のソートキー
* `query` ([String](/docs/ja/reference/data-types/string)) — PROJECTION の SELECT クエリ。INDEX ... TYPE ... 形式の場合は空
* `definition` ([String](/docs/ja/reference/data-types/string)) — 記述されたままの完全な PROJECTION 宣言
* `settings` ([Map(String, String)](/docs/ja/reference/data-types/map)) — WITH SETTINGS で指定された PROJECTION の設定

## 例

```sql theme={null}
CREATE HYPOTHETICAL PROJECTION p_by_b ON t (SELECT a, b ORDER BY b);
SELECT name, type, sorting_key FROM system.hypothetical_projections;
```

```text theme={null}
┌─name───┬─type───┬─sorting_key─┐
│ p_by_b │ Normal │ ['b']       │
└────────┴────────┴─────────────┘
```

## 関連項目

* [`CREATE HYPOTHETICAL PROJECTION`](/docs/ja/reference/statements/hypothetical-projection#create-hypothetical-projection)
* [`EXPLAIN WHATIF`](/docs/ja/reference/statements/explain#explain-whatif)
