外连接(+)的旧Oracle语法是否始终等同于新语法?

a1e*_*x07 3 oracle left-join

我想知道是否总是可以LEFT JOIN使用旧的Oracle语法重写(+).特别是,我尝试使用表达以下查询(+)

SELECT *
FROM table_1 a
LEFT JOIN table_2 b ON (b.table1_id = a.id AND b.other_field = 'value1')
Run Code Online (Sandbox Code Playgroud)

没有成功.有可能吗?
谢谢.

Ste*_*ieG 7

我猜你在b.other_field的测试中没有使用(+)运算符..这应该有效:

SELECT *
FROM table_1 a, table_2 b 
WHERE b.table1_id(+) = a.id 
AND b.other_field(+) = 'value1'
Run Code Online (Sandbox Code Playgroud)

  • 没问题.你可能会发现[这个](http://download.oracle.com/docs/cd/B14117_01/server.101/b10759/queries006.htm)如果你之前没有使用旧款式的话会很有趣...... (2认同)