rownum生成規則?
在Oracle中,rownum和rowid是平時經常用到的。比如rownum經常用于分頁查詢,rowid用于排重或者快速定位到記錄。對rownum跟order by配合下的生成時機一直沒有具體研究過,只是用的時候如果不確定就用數據測試一下,這次記錄一次測試過程。
TEST表數據如下,
執行如下sql,
select rownum, b.*
from test b
where b.num is not null
結果如下
再執行如下sql,
select rownum, b.*
from test b
where b.num is not null
order by b.str
結果如下
比較兩個結果可知,rownum在where條件后即生成,且在order by之前。