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