Oracle与mysql分页查询

xiaoxiao2021-02-28  6

        分页查询:就是将数据分段查询出来,一次只查询数据的一部分这样做可以减少系统资源开销,减少数据量,可以提高网络传输速度分页在不同的数据库中的SQL语句是不同的

        1.Oracle分页查询中提供了一个伪列:ROWNUM

        ROWNUM字段不存在于任何一张表中,但是每张表都可以查询该字段。该字段的值是结果集中每条记录的行号ROWNUM字段的值是动态生成的,伴随查询过程。只要可以查询出一条记录,ROWNUM就会为该条记录生成行号,从1开始每次递增1。

        由于ROWNUM是在查询表的过程中进行编号的,所以在使用ROWNUM对结果集编行号的查询过程中不要使用ROWNUM做大于1以上数字的判断,否则结果集没有任何数据

        如:select * from table_A where rownum>1是查不到任何数据的,同样,下面的语句也是查不到任何数据的

SELECT * FROM( SELECT ROWNUM rn,p.* FROM table_A p ) WHERE rn BETWEEN 6 AND 10         如果想查出来表中6到10之间的数据,可以先把伪列查出来当做表中的一个字段,然后对该字段做where条件查询

select * from (select * from (select rownum rn,p.* from table_A p) where rownum <= 10) where rn > 6         2.mysql中的分页查询则比较简单,只需要用limit关键词就可以

        如:select * from table_A limint 6,10

        limit m,n表示从第m+1条数据开始查询,连续查出n条数据

        limit m表示从第一条数据开始查询,联系查询m条数据,等同于 limit 0,m

        3.如果做手动分页查询,可用下面的方法

        start:(page-1)*rows+1

        end:page*rows

        page:页数     rows:每页显示的记录数

转载请注明原文地址: https://www.6miu.com/read-850304.html

最新回复(0)