假设我们有一个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)
答案 0 :(得分:1)
是的,确实如此,我强烈建议不要使用RIGHT JOIN。 由于我们的自然阅读顺序是从左到右,从上到下,因此RIGHT JOIN以这种方式非常不自然。 此外,如果您将LEFT JOIN和RIGHT JOIN混合使用,那将非常非常难以完成。