左连接vs内连接

时间:2013-07-09 07:25:47

标签: mysql

与同一查询的内连接相比,是否可以为左连接提供较少的记录?

如果是,在什么情况下?由于我确实理解内连接记录将出现在所有类型的连接中,除非特别查询不符合,因此按照规范,完全连接,左连接和右连接应该包含内连接记录。

1 个答案:

答案 0 :(得分: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。此顺序对行为很重要。)