2012-06-09 91 views
2

下面什麼爲什麼我們在LEFT JOIN中有OUTER子句?

UPDATE

這個問題2個查詢之間的區別已經在類似的問題回答這裏LEFT JOIN vs. LEFT OUTER JOIN in SQL Server

SELECT * FROM ca 
LEFT JOIN exam 
ON ca.subject = exam.subject 

SELECT * FROM ca 
LEFT OUTER JOIN exam 
ON ca.subject = exam.subject 

Table 'CA' 
-------------------- 
subject|score 
---------------- 
ENG |25 
MTH |34 
BIO |18 


Table 'Exam' 
-------------------- 
subject|score 
---------------- 
ENG |25 

運行2個查詢產生相同的結果在MySQL,SQLSERVER 2008年我沒有在Oracle測試。

subject | score1 | subject | score1 
-------------------------------------- 
ENG  14  ENG  44 
MTH  28  NULL  NULL 
BIO  22  NULL  NULL 

那是什麼OUTER子句

+2

看到這個帖子:http://stackoverflow.com/questions/406294/left-join-and-left-outer-join-in-sql-server –

+0

我沒有看到那個。這一個(http://stackoverflow.com/questions/38549/sql-difference-between-inner-and-outer-join),我看到很混淆 – codingbiz

+0

這個問題在一些新的考試或大腦替補或什麼? http://dba.stackexchange.com/questions/19005/difference-of-left-join-and-left-outer-join –

回答

8

還有的目的是沒有區別的。 OUTER關鍵字是可選的。

1

LEFTLEFT OUTER之間沒有區別; OUTER關鍵字可以省略。

1

在一些數據庫中,LEFT JOIN被稱爲LEFT OUTER JOIN,所以它是一樣的。關鍵字OUTER是可選的所以,請提醒自己,這是一個外部連接。

關鍵字LEFT,RIGHT或FULL是強制性的。左外連接,右外連接和全外連接是唯一的外連接類型。當然,關鍵字JOIN是強制性的。

0

有四種類型的連接:內部,左外部,右外部和全部外部。左連接,右連接和完全連接只是外連接類型的縮寫。

+0

並交叉連接。 – Jesse

+0

和反連接,半連接,然後是equijoins和non-equijoins之間的區別。 –