Oracle中分页查询语句可分为两种
1. psize表示当前页数,page表示每页记录数,并且用order by 根据EMP_ID进行降序排列,防止每次查询的数据不一致。
SELECT * FROM (
SELECT ROWNUM R,E.* FROM EMP E ORDER BY EMP_ID DESC
)
WHERE R>(PSIZE-1)*PAGR AND R<=PSIZE*PAGE;
2.第二种采用BETWEEN AND 语句进行查询。
SELECT * FROM (
SELECT ROWNUM R,E.* FROM EMP E ORDER BY EMP_ID DESC
)
WHERE R BETWEEN (PSIZE-1)*PAGR AND PSIZE*PAGE;
总结:第一种方式查询效率要比第二种高。