CREATE TABLE AS¶
概要¶
CREATE TABLE [ IF NOT EXISTS ] table_name [ ( column_alias, ... ) ]
[ COMMENT table_comment ]
[ WITH ( property_name = expression [, ...] ) ]
AS query
[ WITH [ NO ] DATA ]
説明¶
SELECTクエリの実行結果を含む新しいテーブルを作成します。CREATE TABLEを使用して空のテーブルを作成します。
オプションのIF NOT EXISTS
句を使用すると、テーブルが既に存在する場合、エラーが抑制されます。
オプションのWITH
句を使用して、新しく作成されたテーブルのプロパティを設定できます。利用可能なすべてのテーブルプロパティを一覧表示するには、次のクエリを実行します。
SELECT * FROM system.metadata.table_properties
例¶
クエリの実行結果と指定された列名を使用して、orders_column_aliased
という新しいテーブルを作成します。
CREATE TABLE orders_column_aliased (order_date, total_price)
AS
SELECT orderdate, totalprice
FROM orders
orders
を要約したorders_by_date
という新しいテーブルを作成します。
CREATE TABLE orders_by_date
COMMENT 'Summary of orders by date'
WITH (format = 'ORC')
AS
SELECT orderdate, sum(totalprice) AS price
FROM orders
GROUP BY orderdate
まだ存在しない場合、orders_by_date
テーブルを作成します。
CREATE TABLE IF NOT EXISTS orders_by_date AS
SELECT orderdate, sum(totalprice) AS price
FROM orders
GROUP BY orderdate
nation
と同じスキーマを持ち、データを含まない新しいempty_nation
テーブルを作成します。
CREATE TABLE empty_nation AS
SELECT *
FROM nation
WITH NO DATA