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_by_date 的新表格,其總結了 orders

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

建立一個新的 empty_nation 表格,其結構與 nation 相同,但沒有資料

CREATE TABLE empty_nation AS
SELECT *
FROM nation
WITH NO DATA

另請參閱

CREATE TABLE, SELECT