比如我现在有两个表,表结构如下
table1:
id    name    sex
1     张三     男
2     李四     女
3     王五     女
4     赵六     男table2:
id    name    sex   age    degree
1     张三     男    11     本科
2     李四     女    12     本科
3     王五     女    23     高中
4     赵六     女    37     专科我现在想得到的是table1中的数据是否在table2中有不一样的?像上面这个表第四条数据就不一样,就是说依据table1为参照,去找table2中与table1中不一致的数据,要批量,因为实际上我table1有500条数据,而table2中有上千条数据,我现在就要找table2中是否有和table1中不匹配的数据,table2中比table1多的字段不用管,只考虑table1的三个字段,id是唯一主键,怎么做?

解决方案 »

  1.   

    select * from table2 where id not in(select table2.id from table1,table2 where table1.name=table2.name and table1.sex=table2.sex)
    这是求证table2和table1不一样的数据
      

  2.   

    select * from table2 where id not in(select distinct(table2.id) from table1,table2 where table1.name=table2.name and table1.sex=table2.sex)
      

  3.   

    select * from table2 where id not in(select table2.id from table1,table2 where table1.name=table2.name and table1.sex=table2.sex)
      

  4.   

    如果2个表没任何关系的话试下这个select 1 from ((select id,name,sex from table1) minus (select id,name,sex from table2))
      

  5.   

    如何选择一个稳定的VPS供应商1. 考虑自己的需求,包括硬件的,软件的
    首先要明确自己的服务需求,我需要什么配置的机器,需要电信/网通还是国际的线路。这个首先要考虑清楚。如我的服务时网站服务,那我就要考虑我网站的访问人群是电信的还是网通或者是国际的,不同的线路价格上可能会差的比较远。
    2. 考虑VPS提供商的服务质量
    目前来说,我们选择了VPS最主要是选择了他的服务,服务很重要,我们要了解一下销售人员的态度,和他们是否有一些专业的知识。
    3. 考虑VPS提供商的技术
    选择VPS提供商的平台要相对专业的。如比较成熟的Xen 平台的VPS。成熟平台的VPS出现的不确定状况比较少,也比较稳定。
    4. 考虑VPS提供商的NOC团队
    如VPS出问题了,一个好的VPS提供商应该有一个专业的团队来维护,能第一时间解决客户的故障,因此选择时最好选择有专业团队维护的VPS提供商。
    5. 考虑VPS的成本
    当然成本也是我们考虑的,我们总是希望以最少的钱买到最好的服务。不过有句古话,便宜没好货。选择时,尽量多了解下服务商的具体信息,综合对比下价格和服务。最好找可以提供适用的VPS提供商多了解下VPS的性能。PBS VPS可以提供电信/网通/国际出口,NOC团队提供7*24时专业技术服务,现正提供免费试用活动,有想了解的,可站内发短信给我。
      

  6.   

     left join 或者right join不可以做到么?
      

  7.   

    select id name sex from table2
    minus
    select id name sex from table1会把table2中存在 table1中不存在的过滤出来
      

  8.   

    select * from table2 where id not in(select table2.id from table1,table2 where table1.name=table2.name and table1.sex=table2.sex)
      

  9.   

    6楼正解
    select * from ((select id,name,sex from table1) minus (select id,name,sex from table2))
      

  10.   

    如果是table1的ID和table2的ID保持一致的话。这样可以。
      

  11.   

     如果两个表的id一样的话可以像楼上几位那样写的..如果id不一样.则没法比较.
      

  12.   

    不知道你 id 有没有关系,
    这里假设名字没有重名的,如下:
    select t2.id ,t2.name from table1 t1,table2 t2 
    where t1.name = t2.name and t1.sex != t2.sex
      

  13.   


    主要看包括不包括ID,不包括的话是那样可以,ID也要一样的话不好弄吧
      

  14.   

    6楼正解
    前提ORACLE数据库。