一段时间以来,我只知道如何使用 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
这是对的吗,还是我错过了什么?
你是对的。从维基百科 http://en.wikipedia.org/wiki/Join_%28SQL%29:
右外连接(或右连接)与左外连接非常相似
连接,除非表的处理相反。每一行从
“右”表 (B) 将在连接表中至少出现一次。
如果“左”表 (A) 中不存在匹配行,则会出现 NULL
在 A 的列中查找在 B 中没有匹配的记录。A 正确
外连接返回右表中所有匹配的值
左表中的值(如果没有匹配的连接则为 NULL
谓词)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)