Posted on 2011-04-13 20:22
IceWee 閱讀(197)
評論(0) 編輯 收藏 所屬分類:
Database
錯誤寫法:
select a.*, rownum rfrom (select * from lg_order o order by o.order_id) awhere rownum <= 20 and rownum >= 10
正確寫法:
select *from (select a.*, rownum r from (select * from lg_order o order by o.order_id) a where rownum <= 20) bwhere r >= 10
第一句是錯誤的,由于rownum是一個總是從1開始的偽列,Oracle 認(rèn)為這種條件不成立,查不到記錄
SQL的執(zhí)行順序從內(nèi)到外,從右到左。