问题:
要使用查询从一个表中向另外的表中复制行。该查询可能非常复杂,也可能非常简单。但是最终是需要将该查询的结果插入到其他的表中。(同样的列名称以及数据类型)
解决方案:
所使用的方法就是在insert语句后面紧跟着一个用来产生所要插入的行的查询:
create table dept_east(
deptno int(11),
dname varchar(14),
loc varchar(13));
insert into dept_east (deptno, dname, loc)
select deptno, dname, loc
from dept
where loc in ('NEW YORK', 'BOSTON')
讨论:
最简单的方法就是在insert语句后面跟随一个查询,该查询用来返回想要得到的行。如果想要从源表中复制所有的行,则贼查询种就不需要使用where子句。跟普通的插入语句一样,插入时不一定要指定插入哪些列,但是,如果没有指定要插入的目标列,则必须插入表中所有的列,而且要清楚select表中值得顺序