国王陛下万万岁

导航

 

有这样一个需求:

数据库表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

参考于:

https://weblogs.sqlteam.com/jeffs/2004/11/10/2737/

posted on 2019-09-11 14:48  国王陛下万万岁  阅读(4256)  评论(1编辑  收藏  举报