我对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
这个逻辑是否正确?
答案 0 :(得分:2)
在用于外连接的ANSI前Oracle语法中,(+)用于预期不足的表,而不是要保留的表。
所以:
select * from t1, t2 where t1.col1 = t2.col2 (+)
与
相同select * from t1 left join t2 on t1.col1 = t2.col2