日期:2014-05-17  浏览次数:20708 次

如何把2个表,不同的数据取出来?
本帖最后由 wxylvmnn 于 2013-02-06 11:04:29 编辑
2个表结构完全一样,都是2个字段,A和B,这2字段都是主键。

表X的数据如下:
A,B
1,2
2,3

表Y的数据如下:
A,B
1,2
1,3
2,1
2,2
2,3

表Y肯定是包含了表X的全部数据。
如何把表Y中有,但表X中没有的数据取出来?强调下,表X和表Y都是千万级的数据量。取得速度一定要保障哈。

即,
A,B
1,3
2,1
2,2

------解决方案--------------------
SELECT * FROM Y
WHERE NOT EXISTS (
SELECT 1
FROM X
WHERE X.A = Y.A
AND X.B = Y.B
)