期望效果:(我是拿到一对关系去另一表中的一对关系去对比)select * From Empoylee Where (Address1,Address2) in (Select Address1,Address2 From EmpoyleeAdresses Where Country = 'Canada')以上无法实现用这种方案也可以实现 不过速度很慢的select * from (select (zcbm ||','||fwbm) as t from T_FWZC ) tt where t not in(select (zcbm ||','||fwbm) as c from T_ZC_FC_GX)解决方案1:用exists判断select a.* From Empoylee a Where exists(select 'A' from EmpoyleeAdresses bWhereb.Country = 'Canada'and a.Address1=b.Address1and a.Address2=b.Address2)解决方案2:用inner join内链接select * From Empoylee inner join EmpoyleeAdresses on Empoylee.Address1=EmpoyleeAdresses.Address1 and Empoylee.Address2=EmpoyleeAdresses.Address2 Where EmpoyleeAdresses.Country = 'Canada')select * from Empoylee em inner join EmpoyleeAdresses emA on em.Address1=emA.Address1 and em.Address2=emA.Address2 and emA.Country = 'Canada'解决方案3:表关联select a.* From Empoylee a ,(SelectAddress1,Address2 From EmpoyleeAdresses WhereCountry = 'Canada') b Where a.Address1=b.Address1 and a.Address2 = b.Address2主观感觉方案1更快一些,客观上,还没在查询分析器里用"显示执行计划"看哪种写法效率高些. 如果是Delete语句,写法如下:Delete From Empoylee Where exists(select 'A' from EmpoyleeAdresses bWhereb.Country = 'Canada'and Empoylee.Address1=b.Address1and Empoylee.Address2=b.Address2) 注意Delete from 后的表不能用别名~