【发布时间】:2019-08-01 07:40:21
【问题描述】:
换句话说,对于嵌套/多个JOIN SQL 语句,是否可以肯定地说应该始终首先使用INNER JOIN(将其放在顶行或使用括号将INNER JOIN 放在前面两个表)并确保它位于任何OUTER JOIN(LEFT、RIGHT、FULL)之前?
我的理解是匹配列(例如,主键列和外键列)通常没有 NULL 值。当INNER JOIN 被另一个表编辑时,任何不匹配的行,包括来自OUTER JOIN 结果的NULL,都将被删除,因为没有任何东西可以匹配NULL!!
(顺便说一句,我从来没有使用同时具有 NULL 的列加入任何两个表,因此,我不会评论 NULL 值是否会匹配 NULL 值时 INNER JOIN-ing表。至少,我猜这将非常罕见)
【问题讨论】:
-
长话短说,是的。只是不要这样做,睡个好觉。
标签: sql join inner-join outer-join