sql - right - JOIN和INNER JOIN的區別




sql join用法 (5)

它在不同的SQL實現中有所不同嗎?

是的,MS Access不允許join它需要inner join

這兩個連接都會給我同樣的結果:

SELECT * FROM table JOIN otherTable ON table.ID = otherTable.FK

VS

SELECT * FROM table INNER JOIN otherTable ON table.ID = otherTable.FK

在演出或其他方面的表述是否有區別?

它在不同的SQL實現中有所不同嗎?


INNER JOIN = JOIN

如果您在使用單詞JOIN時未指定類型, INNER JOIN是默認值

您也可以使用LEFT OUTER JOIN或RIGHT OUTER JOIN,在這種情況下OUTER字是可選的,或者您可以指定CROSS JOIN。

要么

對於內部聯接,語法是:

選擇 ...
FROM TableA
[INNER]加入表B

(換句話說,“INNER”關鍵字是可選的 - 結果相同或不相同)


只需鍵入JOIN默認情況下執行INNER JOIN

對於所有其他人來說,一張照片有時候超過幾百個單詞:

圖片由CodeProject


它們在功能上是等價的,但INNER JOIN可以更清晰地閱讀,特別是如果查詢中包含其他連接類型(即LEFTRIGHTCROSS )。


OUTER JOINs類似, "OUTER"這個詞是可選的,它的LEFTRIGHT關鍵字使JOIN成為"OUTER" JOIN

然而,由於某種原因,我總是使用"OUTER"LEFT OUTER JOIN並從來沒有LEFT JOIN ,但我從來沒有使用內部連接,而是我只是使用"JOIN"

SELECT ColA, ColB, ...
FROM MyTable AS T1
     JOIN MyOtherTable AS T2
         ON T2.ID = T1.ID
     LEFT OUTER JOIN MyOptionalTable AS T3
         ON T3.ID = T1.ID




inner-join