• 締切済み

inner joinとwhereでの結合の違いは?

お世話になります。 たとえば、テーブルが複数(この場合2つ)ある場合。 (1) test(カラム:table_id,table_name) (2) tester(カラム:table_id,table_name) 以下のクエリは条件的に select a.table_id, a.table_name from test a inner join tester b on a.table_id = b.table_id ************* select a.table_id, a.table_name from test a , tester b where a.table_id = b.table_id 同じですよね? パフォーマンス的にもjoinすることのメリットが判りません。

みんなの回答

  • mitoneko
  • ベストアンサー率58% (469/798)
回答No.1

 たとえば、そのSQLいじって、もう少し複雑にすると、効果が見えるかと。  select a.table_id, a.table_name from test a join testb b on a.table_id = b.table_id where a.table_atatus = 5 and b.table_status2 < 10  とかやり出したときに、検索条件と、結合条件が分離されて、読むときに読みやすい。というのが、この構文の利点だと思ってますけど、どうでしょう?

noname#6074
質問者

お礼

ありがとうございます。 >読むときに読みやすい それだけでしょうかねぇ・・・。 前に、各テーブルに数万件データが入っているテーブルをjoinしたら、処理時間がかかりすぎました。