由于Oracle不支持select top 语句,所以在Oracle中经常是用order by 跟rownum
的组合来实现select top n的查询。
简单地说,实现方法如下所示:
select 列名1 …列名n from
(
select 列名1 …列名n
from 表名 order by 列名1
)
where rownum <=N(抽出记录数)
order by rownum asc
如:select id,name from (select id,name from student order by name) where rownum<=10 order by rownum asc
–查询第5~10条的记录,minus(减)
select * from MID_EHR_STAFF where rownum<10 minus select * from MID_EHR_STAFF where rownum<4;