回答
如果inner join
只返回两个表中匹配的条目,则left join
将获取第一个表中的所有条目以及第二个表中任何匹配的条目。甲right join
是的逆一个left join
(即:所有与第二个表)
因此,如果表A是
A B
1 a
2 b
3 c
和表B是
A B
1 d
2 e
然后Select * from TableA inner join TableB on TableA.A = TableB.A
返回
1 a 1 d
2 b 2 e
And Select * from TableA left join TableB on TableA.A = TableB.A
returns
1 a 1 d
2 b 2 e
3 c null null
我认为结果不对。第一个查询应该给1 a 1 d/2b 2 e第二个查询应该给出:1 a 1 d/2b 2 e/3 c NULL NULL。 – 2012-07-31 12:14:51
@RolandBouman是的,他们应该:) – podiluska 2012-07-31 12:16:04
这是一样的LEFT OUTER(外被暗示,因为INNER JOIN需要双边匹配所以LEFT INNER JOIN
将毫无意义)。这同样适用于RIGHT JOIN
和FULL JOIN
这些相当于分别相当于RIGHT OUTER JOIN
和FULL OUTER JOIN
- 1. 是什么左边的区别连接和MySQL中右连接
- 2. 多个LEFT连接 - 什么是“左”表?
- 3. postgresql vs mysql左连接
- 4. PostgreSQL:左连接错误
- 5. 用postgresql中的左连接更新
- 6. 左连接和左外连接有什么区别?
- 7. 在ubuntu中连接postgresql和android的方式是什么
- 8. postgresql和php为什么不能连接
- 9. 为什么左连接显示错误?
- 10. 混合左右连接?为什么?
- 11. 左外连接 - 有什么区别?
- 12. 我的mySQL查询有什么问题?左连接/内连接
- 13. 为什么我的左连接表现为内连接
- 14. 使用ODBC驱动程序连接postgresql的连接字符串是什么?
- 15. SQL:左连接左连接结果左连接左连接/右连接
- 16. PostgreSQL的默认连接池限制是什么?
- 17. 什么是PostgreSQL中的“Schema”?
- 18. 这个嵌套左连接的linq等价物是什么?
- 19. 左连接(table1,table2)和左连接table1左连接表2有什么区别2
- 20. 左侧连接产生内部连接结果 - PostgreSQL
- 21. 为什么这个左连接评估为交叉连接?
- 22. SQL连接和左外连接:为什么结果不同?
- 23. 交叉连接,然后是左连接
- 24. AJAX中X(XML)的连接是什么?
- 25. 提高PostgreSQL中简单左连接的性能
- 26. 什么是连接池?
- 27. 连接池什么是removeAbandoned?
- 28. 什么是连接methodOverride()
- 29. 什么是RMI TCP连接
- 30. 什么是内连接?
更多图形说明:[Visual-Representation of SQL-Joins](http://www.codeproject.com/Articles/33052/Visual SQL连接的代表 – doctore 2012-08-02 11:12:50
所有JOIN类型的PostgreSQL都在[手册]中解释(http://www.postgresql.org/docs/current/interactive/queries-table-expressions.html#QUERIES-JOIN )包括例子。所以基本上'OUTER'关键字对于'LEFT','RIGHT'和'FULL'连接是可选的。 – 2012-07-31 11:55:47