暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle中常见的三种分页查询方式

SQL数据库运维 2022-10-06
663

点击蓝色字关注“SQL数据库运维”,回复“SQL”获取2TB学习资源!

⇦ 左滑动,

参考基础语法解析

    -- rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号
    select * from (
    select rownum rn,a.* from table_name a where rownum <= x
    --结束行,x = startPage*pageSize
    )
    where rn >= y; --起始行,y = (startPage-1)*pageSize+1

    页查询一

       select *
      from (select rownum XH,A.*
      from (select * from JT_CS.STUINFO order by stuid) A
      where rownum <=8
      )
      where XH >=5;


      页查询二
         select A.*
        from (select rownum XH,STUINFO.*
        from JT_CS.STUINFO
        where rownum<=8)A


        where XH >=5;
        页查询三
           select A.*
          from (select rownum XH,STUINFO.*
          from JT_CS.STUINFO) A
               where XH between 5 and 8;





          还有一种方法根据ROWID进行分页ROWID
          是物理地址。用于定位数据表中某条数据的位置,是唯一的、不会改变的。

            -- 子查询先不过问数据库的真实数据,只获取rowid,最后在最外层根据rowid获取数据加速查询效率
            SELECT
            *
            FROM
            STUINFO
            WHERE
            ROWID IN (
            SELECT
            rid
            FROM
            ( SELECT ROWNUM rn, rid FROM ( SELECT ROWID rid FROM STUINFO WK ORDER BY STUID DESC ) WHERE ROWNUM <= 8 )
            WHERE
            rn >= 5
            )
            ORDER BY
            STUID DESC;
            以上方法都可以使用,查询出的结果都是一样的,可以根据需要进行自行选择。建议收藏备用,需要时直接拿来套用即可!

            点击关注“SQL数据库运维”,后台或浏览至公众号文章底部点击“发消息”回复关键字:进群,带你进入高手如云的技术交流群。后台回复关键字:SQL,获取学习资料。


            动动小手点击加关注呦☟☟☟

            文章转载自SQL数据库运维,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

            评论