如何对2个表进行比较以找出其中不同的数据?
例表1: 姓名  性别  年龄
        卡车   男  22
        水水   男  23
表2:   姓名   性别  年龄
        卡卡   男  22
        卡车   男  23
        卡车   男  22
如何设条件找出表1,2相同的数据

解决方案 »

  1.   

    相同的
    select 表1.姓名,表1.性别,表1.年龄 from 表1,表2
    where 表1.姓名=表2.姓名 and 表1.性别=表2.性别 and 表1.年龄=表2.年龄
    不同的
    select 表1.姓名,表1.性别,表1.年龄 from 表1
    union
    select 表2.姓名,表2.性别,表2.年龄 from 表2
    minus
    select 表1.姓名,表1.性别,表1.年龄 from 表1,表2
    where 表1.姓名=表2.姓名 and 表1.性别=表2.性别 and 表1.年龄=表2.年龄
      

  2.   

    select   表1.姓名,表1.性别,表1.年龄   from 表1 join 表2 on 表1.姓名 = 表2.姓名 and 表1.年龄= 表2.年龄
      

  3.   

    intersect: 取重复的记录(相当于交集吧)select * from 表1 
     intersect
    select * from 表2 
      

  4.   

    minus:取不重复的记录union: 取两个查询记录(去掉重复的)union all: 取两个查询所有的记录(包括重复的)intersect: 取重复的记录(相当于交集)