我有一种情况,我用一些第三方实用程序更新了一个表,我想将它与原始表进行比较,并确保它正确安装了更新和插入。
所以,我想做这样的事情,但我不太清楚语法:
SELECT * FROM table1 AS a RIGHT OUTER JOIN table2 AS b WHERE
<there is some difference between the row from a and the row from b,
regardless of which column it's in>
如何比较所有字段而不必一个一个地明确地写出它们?
编辑:我还应该提一下,我在表的副本中进行了更新,因此假设是原始版本并且是更新的副本。
答案 0 :(得分:4)
你应该使用的是一个MINUS查询
select field1, field2, field3, field4
from table1
except
select field1, field2, field3, field4
from table2
这将返回table1中无法在table2上找到其数据(field1,field2,field3,field4)的所有行。 Warining:它没有相反的方式,所以如果你还需要table2中的数据而不是table1上的数据,那么你必须做第二个查询来做table2 MINUS table1。