• ベストアンサー

Left outer join とかのLeft

Left outer join とright outer join ですが、解説などをみると、左右に表が描かれてあって、線を引いたりして結合していくのですが、 何をもって左とか右とかいうのでしょうか? テーブル1が左で、テーブル2が右みたいな感じで解説されるのですが、先に出てきた1も、あとに出てきた2も、単に出てきた順番であり、記号と思われます。1と2を入れ替えたら同じことです。Left outer join Table1 もRight outer join Table2 も同じことのように思われます。私はなにか勘違いしているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5228/13675)
回答No.1

SQL文の記述としては「Table_A LEFT JOIN Table_B」と書きますよね。 このときJOIN文の左側(例だと Table_A)と右側(例だと Table_B)と言う意味で、どちらのテーブルを主としてデータを結合するかと言う意味になります。 LEFT JOIN ならJOIN文の左側を主として、RIGHT JOIN ならJOIN文の右側を主とすると言う事です。 なので、「Table_A LEFT JOIN Table_B」と「Table_B RIGHT JOIN Table_A」は同じ結果になります。 3つも4つもテーブルを結合する場合は、それぞれの結合順があるので RIGHT JOIN を使う事もありますが、2つのテーブルであれば書く順番の問題なので LEFT JOIN になるように記述することが多いですね。

spongetak
質問者

お礼

ありがとうございます。なるほど、Left outer join などのコマンドの、左側に書くか、右側に書くか、なのですね。 Left outer joinであれば、「左側のテーブルのある列を基準として、右側にもう一方のテーブルの対応する列があるレコードに関して、追加していく」ということであるわけですね?

すると、全ての回答が全文表示されます。

専門家に質問してみよう