MySQL Left Join是否比“ left”表更大?

斯蒂芬·R

我是否了解Left Join应该做什么?

我有一个查询。将其称为查询A。它返回19条记录。

我还有另一个查询,查询B。它返回1400条记录。

我将查询B作为左联接插入到查询A中,因此查询A变为:

SELECT *
FROM tableA
LEFT JOIN (<<entire SQL of Query B>>) ON tableA.id = tableB.id

现在,左联接表示表A中的所有内容,仅表示它们匹配的表B中的记录。因此,无论如何,此混合查询返回的内容不应超过原始查询A返回的19条记录。我实际得到的是1,000条记录。

我是否从根本上误解了LEFT JOIN的工作原理?

于尔多

您并没有完全误解LEFT JOIN,正如它所暗示的那样。如果您在A中只有一行,而在B中只有1000行,则它引用了A中该单行的ID;您的结果将是1000行。您忽略了这种关系可能是一对多的关系。“左”表/子查询的大小(取决于WHERE条件)是结果数下限

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章