【发布时间】:2014-02-25 21:28:48
【问题描述】:
我需要检查我的表 A 中的值组合是否存在于不同表 B 的指定对应列集中。
到目前为止,我正在这样做,这似乎不是很优雅或高效:
select * from table1 where
colX_table_1 NOT IN (select colX_table_2 from table2)
and
colY_table_1 NOT IN (select colY_table_2 from table2)
是否有更好/更快的方法来执行此组合检查 (colX_table_1,colY_table_1) -> (colX_table_2,colY_table_2)?
【问题讨论】:
-
您使用什么数据库系统?另外,请注意,您提供的 SELECT 实际上并未返回 A 中不存在于 B 中的元组,而是返回 A 中与 either 没有任何匹配项的元组表 2 中的 colX_table_1 和 colY_table_1。