[pgsql-jp: 26528] Re: テーブルの結合について教えてください。

Youichi Iwakiri yiwakiri @ st.rim.or.jp
2002年 6月 28日 (金) 14:39:00 JST


いわきりです

[pgsql-jp: 26527] テーブルの結合について教えてください。
js wrote in <000d01c21e63$0a589bd0$3401a8c0 @ WS80>:
 >PostgreSQLの本では二つのテーブルの結合を
 >SELECT tb1.code, tb2.name, tb1.tanka FROM tb1,tb2 WHERE tb1.code = tb2.code
 >とあり
 >VisualBasicでは
 >SELECT tb1.code, tb2.name, tb1.tanka FROM tb1 INNER JOIN tb2 ON tb1.code =
 >tb2.code
 >とありました。
 >実際SQLを実行してみたのですが結果は同じでした。
 >結論としてこれは 「どちらでも良い」なんでしょうか?
 >私的にはなんとなく後者が正しいような気がするのですが・・・
 >皆さんのご意見をお聞かせ願えないでしょうか?

どっちでも同じ結果になるのは、PostgreSQLの修飾付き結合(Qualified JOINs)の
仕様がそうなっているからです。

http://osb.sra.co.jp/PostgreSQL/Manual/PostgreSQL-7.1-ja/queries.html

をみると判ると思いますが、
  FROM tb1,tb2
は
  FROM tb1 INNER JOIN tb2
と解釈されます。

他のDBMSからの移植もしくは他のDBMSへの移植を考慮するなら、
明示的に記述しておいたほうが後々悩まないですむかもしれないですね。



pgsql-jp メーリングリストの案内