0

私は SQL にかなり慣れていないので、いくつかの Oracle コマンドを SQL Server に変換しようとしています。問題は、次の右外部結合の変換にあります。

where
   SOURCE_FORMATS.LOC_SIMPLE_ENTITY_ID = FILEFORMAT_INTERNAL_SIGNATURES.LOC_FILEFORMAT_ID (+)

SQLで理解できる限り、これは「from」セクションで次のように表す必要があります。

from
   SIMPLE_ENTITIES "SOURCE_FORMATS"  
RIGHT OUTER JOIN FILEFORMAT_INTERNAL_SIGNATURES
on SOURCE_FORMATS.LOC_SIMPLE_ENTITY_ID = FILEFORMAT_INTERNAL_SIGNATURES.LOC_FILEFORMAT_ID

このロジックは正しいですか?

4

1 に答える 1

2

外部結合の ANSI 以前の Oracle 構文では、(+) は、保持されるテーブルに対してではなく、不十分であると予想されるテーブルに対して使用されます。

そう:

select * from t1, t2 where t1.col1 = t2.col2 (+)

と同じです

select * from t1 left join t2 on t1.col1 = t2.col2
于 2012-04-23T12:21:21.313 に答える