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

関連項目

CREATE TABLESELECT