左外连接和左连接是否相同?

PSR*_*PSR 49 mysql sql

我见过名为LEFT OUTER JOIN或RIGHT OUTER JOIN的连接.在某些地方,我见过LEFT JOIN或RIGHT JOIN.我很困惑.

我在2天前发布了一个问题,但我无法理解解决方案提供的链接.

这些类型的连接是否相同,或两者之间是否存在某些差异?

div*_*thi 69

两者之间没有区别.参考连接的视觉表示


Udo*_*ein 24

他们引用的第一个链接为您提供:

INNER JOIN:当两个表中都匹配时返回行.

LEFT JOIN / LEFT OUTER JOIN:返回左表中的所有行,即使右表中没有匹配项也是如此.

RIGHT JOIN / RIGHT OUTER JOIN:返回右表中的所有行,即使左表中没有匹配项也是如此.

FULL JOIN / FULL OUTER JOIN / OUTER JOIN:当其中一个表中存在匹配项时返回行.

SELF JOIN:用于将表连接到自身,就像表是两个表一样,临时重命名SQL语句中的至少一个表.

CARTESIAN JOIN:返回两个或多个连接表中的记录集的笛卡尔积.

self join实际上不是special join.它只是反映了你可以自己加入一个表的事实.这样做你必须使用别名来解决它在同一语句中出​​现多次的事实.

cartesian join可以被认为是inner join没有限制的条件.或者您可以将a inner join视为cartesian join具有附加限制(连接条件).