Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
与同一查询的内连接相比,左连接的记录是否可能更少?
如果是,在什么情况下?由于我确实了解内部联接记录将出现在所有类型的联接中,除非特别查询不这样做,因此按照规范,完全联接、左右联接应该包括内部联接记录。
对于简单的查询,没有。对于复杂的查询,这是可能的。在以下查询中,将内部更改为左侧可能会导致添加回被 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应用 。此顺序对行为很重要。)
ON
WHERE