oracle数据库语句执行顺序

2025-01-06 03:32:05
推荐回答(2个)
回答1:

先执行 (select * from deptinfo) 因为 完成要用的结果作为一张表临时表,然后又需要用 这个临时表中的rownum ,最外成select * from (select a.*,rownum rn from (select * from deptinfo) a where rownum<=10) where rn>=1 用到了第二成select 的字段 rownum rn所以先执行(select * from deptinfo)再执行(select a.*,rownum rn from (select * from deptinfo) a where rownum<=10)最后select * from (select a.*,rownum rn from (select * from deptinfo) a where rownum<=10) where rn>=1

回答2:

在非关联子查询中,内部查询只执行一次并返回它的值给外部查询。也就是先执行最里面的,然后依次向外!