请用这个 select 语句看看这个 SQL fiddle :
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
我相信不添加where
orjoin
子句select * from T2
会导致全表扫描。不会吗?