日期:2014-05-17  浏览次数:20489 次

请问如何比较2个表中的数据是否相同
table_a

 url(varchar)  

tmp_table_a
url(varchar)

table_b
name(varchar)

tmp_table_b
name(varchar)

总共有4个表,想要比较table_a和tmp_table_a 中的url字段,table_b和tmp_table_b中name字段是否完全一致,有一段sql语句就能实现的吗?
输出2个表中不同数据的数量的和 

我只有可以使用table_a not in table_b...这样的语句,不过这样的话,要比较4个表的话,就需要比较4次了,似乎有点繁琐,能否用一个语句就实现呢?

------解决方案--------------------
2005(含)以后:
SQL code

SELECT  *
 FROM    ( SELECT    *
           FROM      table_a
           EXCEPT
           SELECT    *
           FROM      tmp_table_a
         ) a
 UNION ALL
 SELECT  *
 FROM    ( SELECT    *
           FROM      tmp_table_a
           EXCEPT
           SELECT    *
           FROM      table_a
         ) b