由于rownum是一个总是从1开始的伪列,所以,不能用:>,>=,=,between...and。如:
SELECT * FROM TABNAME WHERE ROWNUM>2 AND ROWNUM<10
是选不出任何记录的.
在如:
SELECT * FROM TABNAME WHERE ROWNUM !=10
只能选出前9条记录.
如果想选出前十条,可以如下:
SELECT * FROM TABNAME WHERE ROWNUM<=10
如果想选出 5 至 10 条,可以如下:
SELECT * FROM TABNAME WHERE ROWNUM<=10
MINUS
SELECT * FROM TABNAME WHERE ROWNUM<=5
也可用子查询
如果想排序的话,要遵守下面的原则:
要先排序再选则须用select嵌套:内层排序外层选(子查询)。
还要注意一点:ROWNUM是连续的,不能断开.
如:
SELECT * FROM ASP_FA_MAST WHERE ROWNUM IN (4,2,1)
就只能选出前两条,而不会选出第4条.