oracleの内部結合と等価結合の違いはどれですか?次の問合せのどれが高性能を提供しますか?oracleの内部結合と等結合の違いは何ですか?また、次の問合せのどれが高性能を提供しますか?
select e.*,d.*
from emp e,dept d
where d.DNAME='ACCOUNTING' and e.DEPTNO=d.DEPTNO --(equi join)
select e.*,d.*
from emp e
inner join dept d on e.deptno=d.deptno
where d.dname='ACCOUNTING'; --(inner join)
個人的には、フィルタ条件(例:d.dname = 'ACCOUNTING')をJOINセクションに入れるのは悪い方法だと思います。結果に影響を与えないかもしれません(何らかの理由で外部結合に変更した場合など)、フィルタ条件がすべての異なるON句にまたがっているため、さまざまなテーブルにフィルタがあると、特にクエリを読みにくくなります。 – fhossfel
私は同意します、私は、2つのバージョンが実際に同じであることを理解することがより良いと思ったが、私は内側の結合でも文がどこに使用されます。私はon節の後に両方のテーブルを比較する条件だけを入れます。 – WaLinke
ご回答ありがとうございます。 –