1

ちょうど私は以下のようなストアドプロシージャの1つでSQLクエリに出くわしました:

SELECT 
    * 
FROM 
    account a, 
    performance p,
    customer c, 
    override o
WHERE 
    a.account_id = p.account_id (+)
    AND a.account_id = c.account_id (+)
    AND o.override_type(+) = 'O'

(+)ここでシンボルの遊びは何ですか?左側と右側の使用の違い。

前もって感謝します。

4

2 に答える 2

5

これはOUTER JOINOracleの古い構文です(同じ古い構文を使用する他のRDBMSがあるかどうかはわかりません)。

良い点:記号の代わりに、または記号を使用して、明示的なANSI-92OUTER JOIN構文を使用します。LEFT OUTER JOINRIGHT OUTER JOIN+

于 2013-03-05T07:03:26.760 に答える
1

(+)は、Oracle(8以前)のレガシー外部結合構文です。それは非常に制限的であり、多くの場合を間違って処理します。もう使用しないでください。left outer joinOracleは、バージョン9以降のansi結合(例)をサポートしています。

于 2013-03-05T07:36:14.450 に答える