ORACLE数据库之sql语句学习

一、如何在Oracle中复制表结构和表数据

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的结果

猜你喜欢

转载自blog.csdn.net/ycmnzmm/article/details/81413394