我對SQL相當陌生,我試圖將一些Oracle命令轉換爲SQL Server。問題在於轉換下面右外連接:將Oracle右外連接翻譯成SQL Server
where
SOURCE_FORMATS.LOC_SIMPLE_ENTITY_ID = FILEFORMAT_INTERNAL_SIGNATURES.LOC_FILEFORMAT_ID (+)
至於我可以在SQL明白這一點已在「從」部分是這樣來表示:
from
SIMPLE_ENTITIES "SOURCE_FORMATS"
RIGHT OUTER JOIN FILEFORMAT_INTERNAL_SIGNATURES
on SOURCE_FORMATS.LOC_SIMPLE_ENTITY_ID = FILEFORMAT_INTERNAL_SIGNATURES.LOC_FILEFORMAT_ID
是這個邏輯正確嗎?
是的,這是正確的,它是*更好*的解決方案,也因爲它順應瞭如何寫的ANSI標準JOIN的 - 我更喜歡這一點在Oracle格式的任何一天。 – 2012-04-23 10:45:03
不,我認爲第一個查詢是一個左連接。 – 2012-04-23 10:51:43
Oracle已經支持ANSI外連接語法十多年了(從2001年的9.0版開始)。舊的(+)語法是Oracle在建立ANSI連接語法之前的語法。我相信當時其他的RDBMS具有類似的專有語法,如'* =' – 2012-04-23 11:25:03