在使用SQL時,常會有這樣的需求:
將查到的數據,直接寫到一張表中,希望一條語句實現,而不是先create table ,再insert into,如何實現?
Hive中
CTAS語法支持
create table ... as select ...
可以直接直接將select語句中查詢出來的內容,插入到create table語句創建的表中,同時create table語句僅需要指定表名和表的屬性,不需要指定表的字段名和字段類型,創建的表的字段名和字段類型會繼承select語句中查詢出來的內容的字段名和字段類型。
優點
: 一條語句,簡單方便,
不足
:新建表和插入的字段沒有comment,如果有comment的需求,需要單獨執行添加comment的語句。
SQL Server
SELECT ... INTO ...語句
select <字段/*> into <新表名> from <原有表/ 子查詢 / 其他條件>
樣例可以參考官方給出的內容:
https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms190750%28v%3dsql.105%29