SQL中的CTAS写法


在使用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

其他等用到再更新


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM