回答
如果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