为什么我们需要左右加入

时间:2015-12-10 02:40:43

标签: mysql join

我在接受采访时被问过为什么我们需要左右连接,而我们可以通过改变表的顺序来使用它们中的任何一个来获得相同的结果?请帮我。

2 个答案:

答案 0 :(得分:2)

如果您只有2张桌子可以加入,那么,您会看到差异。

但是对于3个或更多表,加入的表的顺序很重要。

选中此question以查看相关示例。

答案 1 :(得分:1)

从技术上讲,语言并不需要两者兼顾。事实上,我避免right join并且根本没有看到任何问题。出于两个原因,Left join更可取。首先,逻辑对我来说更简单 - 将所有行保留在第一个表中,然后匹配第二个和后续表中的行。更重要的是,SQL查询从左到右解析,所以:

from a left join b left join c

被解析为

from (a left join b) left join c

如果你制定了一些复杂的例子,你会发现这种解析结构在left joinright join更直观。

当然,数据库支持这两种形式,因为ANSI标准要求它。而且,如果某些人有不同的偏好,他们可以根据需要使用right join