@kentu_717

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

INNER JOINTとLEFT OUTER JOINの併用する際の順番について

INNER JOINとLEFT OUTER JOINを併用する場合は記述する順番によって結果に影響はあるのでしょうか。DBはOracleを想定しています。

【パターンA】
INNER JOIN
INNER JOIN
INNER JOIN
LEFT OUTER JOIN
LEFT OUTER JOIN

【パターンB】
INNER JOIN
LEFT OUTER JOIN
INNER JOIN
LEFT OUTER JOIN
INNER JOIN

有識者の方がいらっしゃれば教えていただきたいです。

0 likes

2Answer

影響はあるでしょう。ただし、データベースの内容によっては(たまたまとか偶然というレベルで)同じ結果になることがあるかもしれません。

0Like

こんにちは。遅レスすみません。

質問の内容を確認させてください。

以下のSQLにおいて、条件1~条件5を変更せずに「inner join Table1 on 条件1」以降の行を入れ替えた場合に、結果が変わることがあるか、というご質問でよいでしょうか。
言い換えると、条件1~条件5を変更せずに行を入れ替えることができる、という前提を置いてよいでしょうか。

select
  ...
from
  Table0
  inner join Table1 on 条件1
  inner join Table2 on 条件2
  inner join Table3 on 条件3
  left outer join Table4 on 条件4
  left outer join Table5 on 条件5

条件を変更せずに入れ替えられる、というのが割と強い制限でして、その前提であれば結果は変わらないと思います。

なお、根拠の説明は必要でしょうか?
長いうえにわかりにくい説明になりそうでして…。
それでも良ければ、頑張って書いてみます。

0Like

Your answer might help someone💌