单列作为主键时,使用not in或者inner join on <>即可解决取出两表中不相同的记录了,但是在多列作为复合主键情况下,取的时候就稍微要花点小心思了。
研究出两种方案,仅供参考:
第一种方案:使用临时表,先根据条件删除相同的重复数据。思路简单,清晰明了。
第二种方案:使用union all 将两表整合成一张表,再用group by having 来去除重复数据,方法比较复杂,性能也不好,但是不需使用临时表。
本文介绍两种在SQL中处理多列复合主键情况下,找出两个表中不相同记录的方法。一种是通过临时表删除重复数据;另一种是利用union all与group by having去除重复项。
单列作为主键时,使用not in或者inner join on <>即可解决取出两表中不相同的记录了,但是在多列作为复合主键情况下,取的时候就稍微要花点小心思了。
研究出两种方案,仅供参考:
第一种方案:使用临时表,先根据条件删除相同的重复数据。思路简单,清晰明了。
第二种方案:使用union all 将两表整合成一张表,再用group by having 来去除重复数据,方法比较复杂,性能也不好,但是不需使用临时表。
6606

被折叠的 条评论
为什么被折叠?