对比2张表所有字段,数据是否相同的SQL语句怎么写?

2025-03-29 02:48:48
推荐回答(1个)
回答1:

每如果sql server的话,很简单用checksum就能比较了,当然两张表要能连起来,要有相同的key。比如:

select t_a.col_key,t_a.cs,t_b.cs
from
(select col_key,CHECKSUM(*) cs
from t_comp1) t_a
inner join
(select col_key,CHECKSUM(*) cs
from t_comp2) as t_b
on t_a.col_key=t_b.col_key
where t_a.cs<>t_b.cs
就能选出所有不同的行

如果你用mysql,也有checksum命令好像,但语法不同
oracle好像没有直接的checksum,但你可以通过MD5,SHA1来计算没行的hash value