• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:SQL文の変換(Oracle→MySQL)結合句)

SQL文の変換(Oracle→MySQL)結合句

このQ&Aのポイント
  • OracleからMySQLへSQL文を変換するにあたり、テーブル結合部分が複数ありややこしくて以下で合っているのか、分かる方いましたらご教授ください。
  • OracleからMySQLへのSQL文変換において、複数のテーブル結合があり、その解釈に迷っています。質問の内容をご確認し、アドバイスをいただけると助かります。
  • OracleからMySQLへのSQL文変換で、結合句の部分が複雑で正しいかどうか悩んでいます。解釈に自信のある方、教えていただけると幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • mpro-gram
  • ベストアンサー率74% (170/228)
回答No.1

oracle でも カンマによるテーブル結合は inner join だったはず。 mysqlもその規則は同じなので、oracle で実行したSQL文はそのまま実行できます。 よって書き直す必要ないです。 カンマ結合はcross inner join なので、INNER JOIN table2 ON 条件 で先に対象行を絞り込みした方が処理は速くなるといわれているのですが、 最近のmysql(5.1以降) だと全部and で繋いでいる条件式ならば、最適化されて同じ速度になるようです。 いずれにしても、全部 inner join の条件で書くべきでouter join は不要。 FROM m  inner join h on m.mid = h.mid(+) AND m.tcd = '0'  inner join p on h.pid = p.pid(+)  inner join c on m.rcd = c.rcd And c.cid = 'aaa' ;

nakayama10
質問者

お礼

返信が遅くなってしまい申し訳ありません。 大変役に立ち勉強させていただいていました。

関連するQ&A