0

このselectステートメントでこのSQLフィドルを見てください:

select T1.VAL, ttemp.*
from T1, 
  (select rownum, t.* from (select * from T2 where t2.val = t1.val ) t) ttemp
where t1.val = ttemp.val
and t1.val > 2

ここで、最も外側のテーブルを内側のレベル 2 テーブルに結合し、結果を次のように置き換えt2.val > 2ますt2.val = t1.val

ORA-00904: "T1"."VAL": invalid identifier 

whereorjoin句を追加しないと、select * from T2テーブル全体がスキャンされると思います。そうじゃない?

4

1 に答える 1