プロが教える店舗&オフィスのセキュリティ対策術

結合は最初に結合された一時的なテーブルを絞りこむ
副問い合わせは行を絞りこんだ後に実行されるかんじなのでしょうか

A 回答 (1件)

一番の違いは結合は二つのテーブルのデータ双方を抽出結果に含められるのに対し、相関副問い合わせによるクエリでは一方のテーブルからしかデータを抽出できないことです。



後、評価順序としては外部結合の場合、外部結合がされたのちにWHERE条件の判定が行われます。

相関副問い合わせを用いる場合は多くのRDBMSでは駆動表に対する他のWHERE条件の判定を行った後に副問い合わせの判定を行う傾向がありますが、ORACLEで「PUSH_SUBQ」ヒントを使用したりすると副問い合わせを優先的に判定条件に使用したりできます。

後、「結合は最初に結合された一時的なテーブルを絞りこむ」イメージではなく、可能な限り結合された行を連続的に判定していきます。ソートや集約演算など一時テーブルを作らざるを得ない限りはできるだけ避けている実装が大半だと思います。
    • good
    • 0
この回答へのお礼

大変わかり易い回答ありがとうございました。

お礼日時:2012/07/21 16:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!