我有两个表,例如:
Table A Table B ======= ======= Name | Color Name | Color ---------------------- ---------------------- Mickey Mouse | red Mickey Mouse | red Donald Duck | green Donald Duck | blue Donald Duck | blue Minnie | red Goofy | black Minnie | red
表A是我的源表,表B是目标表。现在,我需要一个查询,该查询可以在表A中找到所有不同的(附加)行,因此可以使用这些行来更新表B。因此,我需要一个查询,该查询从表A中找到以下行:
Name | Color ---------------------- Donald Duck | green Goofy | black
这样的查询有什么好的方法?它应该尽可能高效(避免过多的联接)。谢谢你的帮助!
我将使用NOT EXISTS结构。
SELECT Name, Color FROM TableA WHERE NOT EXISTS ( SELECT 1 FROM TableB WHERE TableA.Name = TableB.Name AND TableA.Color = TableB.Color)