0

与同一查询的内连接相比,左连接的记录是否可能更少?

如果是,在什么情况下?由于我确实了解内部联接记录将出现在所有类型的联接中,除非特别查询不这样做,因此按照规范,完全联接、左右联接应该包括内部联接记录。

4

1 回答 1

0

对于简单的查询,没有。对于复杂的查询,这是可能的。在以下查询中,将内部更改为左侧可能会导致添加回被 B 上的条件抑制的记录。

SELECT *
FROM A
  LEFT JOIN B
  INNER JOIN C
    ON B.c_id = C.id
    ON A.b_id = B.id
WHERE B.status_xt IS NULL or B.status_xt <> 'foo';

(注意,ON子句的顺序意味着 B 在它们的并集连接到 A 之前连接到 C。然后WHERE应用 。此顺序对行为很重要。)

于 2013-07-09T08:33:23.980 回答