有這樣一個需求:
數據庫表A里面存入的是原始數據,原始數據經過一系列的大數據處理之后,把處理之后的數據傳給了應用層的接口,最終展現到網頁上。
而為了測試這些環節有沒有bug,比如精度丟失,數據類型錯誤之類的,我們要從接口獲取數據,然后把獲取到的數據存入數據庫表B。
最后,比較數據庫表B和A里面的數據有何不同。
下面的SQL語句能夠達到這個目的,而且簡單、快速、高效,不需要寫JAVA代碼。
SELECT id,name,class FROM(SELECT id,name,class FROM t1 AS a UNION ALL SELECT id,name,class FROM t2 AS b )temp GROUP BY id,name,class HAVING count(*)=1 ORDER BY id;
我們知道一個表里面有很多列,上面的語句可以比較任意列。
以下是比較結果:

以下是表t1和表t2
t1

t2

參考於:
