实例用表结构:
--- 表一
IF OBJECT_ID('TEST1') IS NOT NULL DROP TABLE TEST1
CREATE TABLE TEST1(A VARCHAR(8),B VARCHAR(8))
INSERT INTO TEST1
SELECT 'A1','B1' UNION ALL
SELECT 'A2','B2' UNION ALL
SELECT 'A3','B3' UNION ALL
SELECT 'A3','B3' UNION ALL
SELECT 'A4','B4' UNION ALL
SELECT 'A4','B4'
结果:
A B
------------
A1 B1
A2 B2
A3 B3
A3 B3
A4 B4
A4 B4
-- 表2
IF OBJECT_ID('TEST2') IS NOT NULL DROP TABLE TEST2
CREATE TABLE TEST2(A VARCHAR(8), B VARCHAR(8))
INSERT INTO TEST2
SELECT 'A1','B1' UNION ALL
SELECT 'A2','B2' UNION ALL
SELECT 'A3','B3'
结果:
A B
------------
A1 B1
A2 B2
A3 B3
结果:
A B
------------
A1 B1
A2 B2
A3 B3
缺点:无法知道是否有重复的数据。
结果:
A B
------------
A1 B1
A2 B2
A3 B3
A3 B3
A B
------------
A4 B4
-- 语句二:
SELECT * FROM TEST1 WHERE CHECKSUM(A) NOT IN
(SELECT CHECKSUM(A) FROM TEST2)
结果:
A B
------------
A4 B4
A4 B4
本文介绍了如何使用SQL查询来找出两个表中的相同与不同数据,通过多种方法实现数据比对,包括INTERSECT、EXCEPT及JOIN操作等。
818

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



