【发布时间】:2013-02-13 18:45:30
【问题描述】:
一段时间以来,我只知道如何使用 INNER JOIN,而完全不知道 LEFT/RIGHT (OUTER) JOIN 的作用。虽然,正如我刚刚读到的,我看不出右翼的目的是什么?
在我看来它与反向 LEFT JOIN 相同
如果我们按照我的例子:
SELECT t1.* FROM table1 t1 RIGHT JOIN table2 t2 ON t2.value = t1.value
将等同于:
SELECT t2.* FROM table2 t2 LEFT JOIN table1 t1 ON t1.value = t2.value
这是对的,还是我遗漏了什么?
【问题讨论】:
-
是的,我在发布之前做了一些糟糕的搜索,我的错!显然不止一个重复...
-
SQL 的 ANSI 委员会可能同时创建了 RIGHT 和 LEFT OUTER JOIN,以便 SQL 程序员可以就 NULL 的有效性以外的某些语言特性进行无休止的倡导辩论! :-)