0

私はこれかどうか疑問に思っていました:

select *
from tableA natural join tableB,tableC natural join tableD;

と同等です:

select *
from (((tableA natural join tableB),tableC),tableD) natural join tableD;

from句は左結合ですか?

4

1 に答える 1

1

私はそれが同等であると信じています:

select *
from (tableA natural join TableB) cross join
     (tableC natural join TableD)

これはドキュメントに基づいています:

以前は、コンマ演算子 (,) と JOIN はどちらも同じ優先順位を持っていたため、結合式 t1, t2 JOIN t3 は ((t1, t2) JOIN t3) と解釈されていました。現在、JOIN の優先順位が高いため、式は (t1, (t2 JOIN t3)) として解釈されます。この変更は、ON 句を使用するステートメントに影響します。これは、ON 句が結合のオペランド内の列のみを参照できるためであり、優先順位の変更により、これらのオペランドの解釈が変更されるためです。

于 2013-03-21T17:37:40.547 に答える