Please have a look at this SQL fiddle with this select statement:
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
Here I want to join the outer most table with inner-level-2 table and so on replacing t2.val > 2
with t2.val = t1.val
results in
ORA-00904: "T1"."VAL": invalid identifier
I believe not adding the where
or join
clause for select * from T2
will result in full table scan. Won't it?