1. 复制表结构及其数据:
create table table_name_new as select * from table_name_old where 条件
2. 只复制表结构:
create table table_name_new as select * from table_name_old where 1=2;
或者:
create table table_name_new like table_name_old
3. 只复制表数据:
如果两个表结构一样:
insert into table_name_new select * from table_name_old where 条件
如果两个表结构不一样:
insert into table_name_new(column1,column2...) select column1,column2... from table_name_old where 条件
二、关键字minus的使用---去重
MINUS的中文意思是减,在这里的意思就是结果集相减 ,Minus返回的总是左边表中的数据,它返回的是差集
语句结构(用于两个sql语句):
[SQL Segment 1]
MINUS
[SQL Segment 2]
例子:
select * from table1 minus select * from table2
注意:
使用minus 的前提条件是结果集A和结果集B需要有相同的列数,且相同列索引的列具有相同的数据类型。此外,Oracle会对minus后的结果集进行去重(类似distinct的效果),即如果A中原本多条相同的记录数在进行A minus B后将会只剩一条对应的记录
他会先找出第1条sql产生的结果有没有在第2条sql的结果集中:
- (1)如果有,这一笔记录就被去除,而不会在最后的结果中出现
- (2)如果没有,只会显示第1条sql的结果