hetu-core/hetu-docs/en/sql/create-table-as.md

65 lines
1.6 KiB
Markdown

CREATE TABLE AS
===============
Synopsis
--------
``` sql
CREATE TABLE [ IF NOT EXISTS ] table_name [ ( column_alias, ... ) ]
[ COMMENT table_comment ]
[ WITH ( property_name = expression [, ...] ) ]
AS query
[ WITH [ NO ] DATA ]
```
Description
-----------
Create a new table containing the result of a [SELECT](./select.md) query. Use [CREATE TABLE](./create-table.md) to create an empty table.
The optional `IF NOT EXISTS` clause causes the error to be suppressed if the table already exists.
The optional `WITH` clause can be used to set properties on the newly created table. To list all available table properties, run the following query:
SELECT * FROM system.metadata.table_properties
Examples
--------
Create a new table `orders_column_aliased` with the results of a query and the given column names:
CREATE TABLE orders_column_aliased (order_date, total_price)
AS
SELECT orderdate, totalprice
FROM orders
Create a new table `orders_by_date` that summarizes `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
Create the table `orders_by_date` if it does not already exist:
CREATE TABLE IF NOT EXISTS orders_by_date AS
SELECT orderdate, sum(totalprice) AS price
FROM orders
GROUP BY orderdate
Create a new `empty_nation` table with the same schema as `nation` and no data:
CREATE TABLE empty_nation AS
SELECT *
FROM nation
WITH NO DATA
See Also
--------
[CREATE TABLE](./create-table.md), [SELECT](./select.md)