こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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することのメリットが判りません。

投稿日時 - 2004-04-06 21:18:36

QNo.824742

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.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

 とかやり出したときに、検索条件と、結合条件が分離されて、読むときに読みやすい。というのが、この構文の利点だと思ってますけど、どうでしょう?

投稿日時 - 2004-04-07 00:10:16

お礼

ありがとうございます。

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

投稿日時 - 2004-04-07 23:02:12

あなたにオススメの質問