質問: (select 部署番号 from a表 where 年度 > '2002') ・・・・以下省略 の様に書くと効率が悪い気がしました。 (実際には、副問合せが6個書くことになるため) 良い書き方を知っている方がいらっしゃいましたら、よろしくお願い致します。
回答: 今oracle環境無いので分かりませんが。 ■select [b表列名、b表列名...] from b表 where (select [a表.会計コード,a表.部署番号,...] from a表 where a表.年度 > '2002') ■select [b表列名、b表列名...] from b表 where b表.会計コード = a表.会計コード and a表.部署番号 > '2002' どちらかでどうでしょうか。 間違ってたら適宜修正してください。 色々作成したものはコマンドプロンプト上でsql*plusを使って set time onコマンドを書いてスクリプトを実行させて時間を計って見るといいと思います。 何でも書いてみて実験してみると結構勉強になりますよ。