SQL 复制数据到另一个表,你想使用查询语句把一些数据从一个表复制到另一个表里去。该查询语句可能很复杂,也可能很简单,但你希望最终把数据插入到另一个表。例如,你希望把 DEPT
表的部分数据复制到 DEPT_EAST
表。假设 DEPT_EAST
表已经被创建好了,其结构与 DEPT
表相同(有同样的列和数据类型),而且该表当前不含任何数据。
SQL 复制数据到另一个表 问题描述
你想使用查询语句把一些数据从一个表复制到另一个表里去。该查询语句可能很复杂,也可能很简单,但你希望最终把数据插入到另一个表。例如,你希望把 DEPT
表的部分数据复制到 DEPT_EAST
表。假设 DEPT_EAST
表已经被创建好了,其结构与 DEPT
表相同(有同样的列和数据类型),而且该表当前不含任何数据。
SQL 复制数据到另一个表 解决方案
在 INSERT
语句后面附加一个用来检索目标数据的查询语句。
1 insert into dept_east (deptno,dname,loc)
2 select deptno,dname,loc
3 from dept
4 where loc in ( 'NEW YORK','BOSTON' )
SQL 复制数据到另一个表 扩展知识
只需在 INSERT
后面附加一个用来检索目标数据的查询语句就可以解决这一问题。如果你希望复制表里的全部数据,那就要去掉 WHERE
子句。类似于正常的 INSERT
语句,你也不必明确指定要插入哪些列。但是,如果你选择不指明目标列,你就必须为所有列都插入数据,并且正如 4.1 节所讨论过的,你也必须注意 SELECT
列表里各列的顺序。