外部結合

普通に結合して取れるデータなのに
やたらとLEFT OUTER JOINを使ってデータを取っている人がいて
どうしてだろう・・?と質問したところ
内部結合すると記載がない場合は、外部結合(LEFT OUTER JOIN)を
普通に使っていたそうで・・・
DB設計上は、片方のテーブルにデータが存在しないことはなく
確実にデータが取れるはずなので
”見た目”でLEFT OUTER JOINを気に入ってずっと使っていたそうです。

もし仮にNULLが取れた場合は、システムエラーで問題ない
と言われたとき、果たしてそうなのかな?と思ってしまいました。
改めて、内部結合と外部結合について調べてみたのですが
外部結合にしたからといってパフォーマンスに影響するという説明を探すことができず(あるのかな?)
仕様的にそれはないなーというのが正直な感想です。
でも、彼を説得すべきコトバ探しに少しだけ時間を費やしました。
新人には簡単に?これが普通よと説明できるかもしれないけど
もう3~4年経験しているとなかなかその人の常識を変えるのが難しく
いかにして納得してもらうか・・・少し悩みます。
結局、全て内部結合に直してもらって解決したのですが
果たして彼は納得してくれたのだろうか・・・。

でも、私はoracle派なので?外部結合は、(+)を使って書いていました。
だから、LEFT OUTER JOINやINNER JOINはあまり好きではないです。
内部結合も、INNER JOINは使わず結合する書き方で書いています。
どっちが良いのかわかりませんが、こればっかりは好みなのかなぁ~?

コメント

タイトルとURLをコピーしました