SQL之INSERT INTO SELECT 和SELECT INTO FROM 语句

1.INSERT INTO SELECT :

INSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在(目标表已存在)的表中。目标表中任何已存在的行都不会受影响

INSERT INTO TABLE2 SELECT * FROM TABLE1 WHERE .........;
INSERT INTO TABLE2 SELECT COLUMN1,COLUMN2 FROM TABLE1 WHERE.....;
INSERT INTO TABLE2(COLUMN1,COLUMN2) SELECT COLUMN3,COLUMN4 FROM TABLE1 WHERE ....;

2.SELECT INTO FROM :

select into from :将查询出来的数据整理到一张新表中保存,表结构与查询结构一致。

select * into table2 from table1 where......;
select column1,column2 into table2 from table1 where......;
select column1,column2 into table3 from table1 left join table2 on......;

注:
在Oracle中select into from不可以使用,用create table select代替该功能!!!create table table2 as select * from table1;
在Sql Server中可以正常使用。

select into from 和 insert into select 都是用来复制表
两者的主要区别为:
select into from 要求目标表不存在,因为在插入时会自动创建;insert into select from 要求目标表存在。

相关文章