左连接可以表示为右连接,反之亦然?

时间:2016-10-22 18:32:10

标签: mysql sql join outer-join

假设我们有一个EMPLOYEE和一个DEPENDENT表。每个员工都有一个标识符Ssn,可能还有一个带有标识符Essn的依赖项。以下两个查询是否相同?

SELECT DISTINCT E.Lname, D.Dependent_name
FROM ((EMPLOYEE E) LEFT OUTER JOIN (DEPENDENT D) ON E.Fname=D.Dependent_name);

SELECT DISTINCT E.Lname, D.Dependent_name
FROM ((DEPENDENT D) RIGHT OUTER JOIN (EMPLOYEE E) ON E.Fname=D.Dependent_name);

一般来说,

是真的吗?
(TABLE A) LEFT OUTER JOIN (TABLE B)

相同
(TABLE B) RIGHT OUTER JOIN (TABLE A)

1 个答案:

答案 0 :(得分:1)

是的,确实如此,我强烈建议不要使用RIGHT JOIN。 由于我们的自然阅读顺序是从左到右,从上到下,因此RIGHT JOIN以这种方式非常不自然。 此外,如果您将LEFT JOIN和RIGHT JOIN混合使用,那将非常非常难以完成。