Welcome 微信登录

首页 / 数据库 / MySQL / Oracle 检测出两个表中的不同数据

SQL> create table t1(id number,name varchar2(10));Table created.SQL> create table t2(id number,name varchar2(10));Table created.SQL> insert into t1 values(1,"wh");1 row created.SQL> insert into t1 values(2,"wp");1 row created.SQL> insert into t1 values(3,"wj");1 row created.SQL> insert into t2 values(1,"wh");1 row created.SQL> insert into t2 values(2,"wr");1 row created.SQL> commit;Commit complete.SQL> select * from t1;        ID NAME
---------- ----------
         1 wh
         2 wp
         3 wjSQL> select * from t2;        ID NAME
---------- ----------
         1 wh
         2 wrSQL> (
  2  select id,name,count(*)
  3  from t1
  4  group by id,name
  5  minus
  6  select id,name,count(*)
  7  from t2
  8  group by id,name
  9  )
 10  union all
 11  (
 12  select id,name,count(*)
 13  from t2
 14  group by id,name
 15  minus
 16  select id,name,count(*)
 17  from t1
 18  group by id,name
 19  )
 20  ;        ID NAME         COUNT(*)
---------- ---------- ----------
         2 wp                  1
         3 wj                  1
         2 wr                  1在这里你可能会举得select语句中的count(*)列可有可无,那么我们再向t2表中增加一条同样的记录试试看。Oracle中默认值default的使用方法 http://www.linuxidc.com/Linux/2011-04/34938.htmSQL> insert into t2 values(1,"wh");1 row created.SQL> commit;Commit complete.SQL> select * from t2;        ID NAME
---------- ----------
         1 wh
         2 wr
         1 whSQL> (
  2  select id,name,count(*)
  3  from t1
  4  group by id,name
  5  minus
  6  select id,name,count(*)
  7  from t2
  8  group by id,name
  9  )
 10  union all
 11  (
 12  select id,name,count(*)
 13  from t2
 14  group by id,name
 15  minus
 16  select id,name,count(*)
 17  from t1
 18  group by id,name
 19  )
 20  ;        ID NAME         COUNT(*)
---------- ---------- ----------
         1 wh                  1
         2 wp                  1
         3 wj                  1
         1 wh                  2
         2 wr                  1
这个时候就看出来区别了,如果t2中存在两条一样的数据,而t1中只存在相应的一条记录,而你又没有使用count(*),那么这一点不同就看不出来了。Oracle中type is table 类型删除Oracle Logminer 做数据恢复 说明示例相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数