平凡小站

ORACLE SQL中执行先后次序的问题

分享一个经验

需求:Oracle中,根据COST优先级取最优先的一条记录
脚本:

select ... from ...
where ... and rownum=1 
order by cost

实际不能如愿,取得的结果不是最优先的。原因是where在很早就执行了,等到order的时候,只有一条记录。改为以下解决

with a as (select ... order by cost)
select * from A where rownum=1

 

posted on 2023-03-27 13:01  何辉煌  阅读(87)  评论(0编辑  收藏  举报