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

Can a left join be expressed as a right join and vice versa?

假设我们有一个 EMPLOYEE 和一个 DEPENDENT table。每个员工都有一个标识符 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)

?

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