外连接——对 From 子句的限制

outer join -- restriction on From clause

我是 SQL 的新手。我遇到的问题是,当我使用 LEFT JOIN 时,我试图从逻辑上理解对 From 子句的限制,我已经了解了对 where 子句的限制,但我以前从未见过这个。我读了这篇文章, 但我还是一头雾水

所以我的代码是这样的。

Select e.last_name
      ,e.first_name
      ,e.marital_status_code
      ,ms.short_desc
from entity e
left join marital_status ms 
     on e.marital_status_code = ms.marital_status_code AND ms.marital_status_code = 'M'
where e.last_name = 'Hello'
order by 3
;

当我对 Where 子句进行限制时,我完全理解了

喜欢

where e.last_name = 'Hello'
AND marital_status_code = 'M'
 order by 3
    ;

请帮我看看这是怎么回事on/how 当我像这样对 From 子句施加限制时逻辑有效

left join marital_status ms 
         on e.marital_status_code = ms.marital_status_code AND ms.marital_status_code = 'M'
left join marital_status ms 
     on e.marital_status_code = ms.marital_status_code AND ms.marital_status_code = 'M'

这是加入的条件。

这是对何时匹配两行的限制。因此,当 table 具有相同的 marital_status_code 且 marital_status_code 在 marital_table 中 = 'M' 时,这将在其他 table 中找到匹配项].

这个是一样的因为没有连接和说

WHERE e.marital_status_code = 'M'

如果 marital_status table 中只有一行 marital_status_code 为 'M'

或者如果 marital_status table.

中没有这样的行,那么它 是相同的 什么都不做