我已经完全加入了两张桌子。表 1 (LEAD) 有 689,189 行,表 2 (CONTACT) 有 133,318 行,它们的完全外连接返回 738,959 行。到目前为止,这是有道理的。
每个表都有一个字段,表示该记录是否被逻辑删除,并带有一个Y
值表示它是。我只想返回两个表中值不等于的行Y
。当我向查询添加附加条件时
select COUNT(*)
from LEAD l
full join CONTACT c on l.CONVERTEDCONTACTID = c.ID and l.DELETE_FLAG <> 'Y' and c.DELETE_FLAG <> 'Y'
与没有它们相比,我返回的行数更多。他们不应该使查询更具限制性吗?我知道我可以使用子查询执行连接,但我只是不明白我是如何得出这个结果的。