質問: 解答から発生した疑問について追記させて頂きます。 > > やはり「結合してから絞り込む記述」より「絞り込んでから結合の記述」の方が速度的にも早いのでしょうか? > > 深く考えたことは無かったのですが、どちらの記述を行ってもSQL解析の時点で最適な方法に変換されると思っているのですが、ど > > うなのでしょう? > > > With句を用いたものや、InnerJoin句内のWhere句で絞り込んだ結果を結合する場合と、そこではWhere句は書かずに結合し、SQL全体として条件を指定して絞り込む場合とで、速度等に影響が及ぶのでしょうか? 漠然とですが、SQLの実行時に最適化されて、結果同じ速度になるかと思っていますが、この認識はあっていますか?
回答: Oracleでjoinが使えるようになったのはOracle9iからでしたがバグがひどくて、parallelヒントと外部結合を組み合わせると結果から対象になるはずのデータが足りなくなって、サポートにクレームをつけてパッチの提供を約束してもらったこともあります。joinはOracle9.2の最終パッチでまともに使えるようになったかどうか? Oracle SQL言語リファレンス 結合 > > Oracleの結合演算子よりも、FROM句のOUTER JOIN構文を使用することをお薦めします。 > > > ということで (+) は過去の遺産を継承できるように残っているので、なるべくouter joinを使った方が良い、ということらしいです。