2016-07-19 4 views
0

2つ以上の共通の列がある場合、NATURAL JOINは2つのテーブルでどのように動作しますか?たとえば、列AA、AB、およびACとテーブルBの列BA、BB、BDを持つtableAがある場合、次のように入力します。select * from NATURAL JOIN B、NATURAL JOIN、AまたはBの列になります。どちらも共通)?2つ以上の共通の列がある場合、NATURAL JOINは2つのテーブルでどのように動作しますか?

+0

試したときに何が起こったのですか? (これ以外にも、これが '自然結合 'を使わないべき理由の一つです) –

答えて

0

ISO/IECから9075から2:1999(E)セクション7.7:

NATURALが指定されている場合、共通の列名はT1の正確に1つの列の <column name>ある<column name>なりましょうとT2の正確に1つの列 の<column name>がある。 [...]対応する結合列が、共通の列名を持つT1 とT2のすべての列を参照するようにします。

[...]

NATURALが指定されているか<named columns join>が、その後、

を指定された場合

ケース:

結合列が対応している場合、Tは、行のマルチセットも聞かせてI)対応する結合列が等しい値を持つ のCPの値。

標準によれば、2つの共通の列名がある場合、結合は2つの列すべてに基づいて行われます。

+0

助けてくれてありがとう – ppetyr