>理解sql左外连接:为什么比左表的行更多?
>对
LEFT OUTER JOIN
左表的所有行,但如果右表中有重复匹配,则实际上可以产生更多>行。
此查询的目的是用
(右表)加入
>(左表)。 直觉上,人们可能会期望最多4935行(假设这是SELECT SUSP.Susp_Visits.SuspReason, SUSP.Susp_Visits.SiteID FROM SUSP.Susp_Visits LEFT OUTER JOIN DATA.Dim_Member ON SUSP.Susp_Visits.MemID = DATA.Dim_Member.MembershipNum
>
Susp_Visits
的原因是ADim_Member
在结果集中创建一个行,以Susp_Visits
在左表和右表之间的每个
中的一行匹配LEFT OUTER JOIN
中的多行,则将在输出中重复,从而产生比最初预期的更多行。
因此,在之后,一个大于预期的行表示,左表中的至少一个行在右表中基于联接条件在右表中具有多个相应的行。
Susp_Visits
解决这个问题:Dim_Member
LEFT OUTER JOIN
仅需要左表数据?
消除重复?
>在您的SELECT
>这阐明了以上是为什么我的SQL左外连接返回的行比左表的行还要多?的详细内容。更多信息请关注PHP中文网其他相关文章!