Oracle分页查询与RowNum

时间:2021-07-22 00:30:15

1. RowNum伪列

Oracle中,RowNum是一个伪列,表示当前记录是查询结果集中的第几条。

RowNum在使用上应该注意,不能在where条件中用RowNum大于、大于等于、等于某个大于1的数,这样是无意义的,因为结果集的第一条记录的RowNum必然是1,不可能大于1,所以以下几条SQL都是错误的,是不可能有结果的:

 SELECT * FROM student WHERE RowNum>1;
SELECT * FROM student WHERE RowNum>2;
SELECT * FROM student WHERE RowNum=2;
SELECT * FROM student WHERE RowNum BETWEEN 1 AND 60;

2. RowNum实现分页查询

那么如何实现分页查询呢?我们可以给RowNum起个别名,通过两层循环来实现

 SELECT id from (select id, RowNum rn from student where RowNum<=30)  WHERE rn>=21;

以上例子实现了查询第21条道第30条的所有数据。

有个疑问,SELECT id, RowNum rn FROM STUDENT WHERE rn BETWEEN 21 AND 30;是否可以?答案是不可以,因为RowNum的别名rn只能在外层循环里用,在本层循环里只能用RowNum,不能用别名rn,这条语句会编译报错。

Oracle分页查询与RowNum的更多相关文章

  1. 【SQL】Oracle分页查询的三种方法

    [SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 ? 1 2 3 4 5 6 7 8 9 10 11 [sql] select * from t_user t whe ...

  2. mysql和oracle 分页查询(转)

    最近简单的对oracle,mysql,sqlserver2005的数据分页查询作了研究,把各自的查询的语句贴出来供大家学习..... (一). mysql的分页查询 mysql的分页查询是最简单的,借 ...

  3. Oracle分页查询语句的写法&lpar;转&rpar;

    Oracle分页查询语句的写法(转)   分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. Oracle分页查询语句使我们最常用的 ...

  4. oracle分页查询及原理分析(总结)

    oracle分页查询及原理分析(总结) oracle分页查询是开发总为常用的语句之一,一般情况下公司框架会提供只需套用,对于增删改查而言,查是其中最为关键也是最为难的一块,其中就有使用率最高的分页查询 ...

  5. mysql和oracle分页查询

    MYSQL分页查询 方式1: select * from table order by id limit m, n; 该语句的意思为,查询m+n条记录,去掉前m条,返回后n条记录.无疑该查询能够实现分 ...

  6. 工作中遇到的oracle分页查询问题及多表查询相关

    在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,& ...

  7. MySQL的分页查询及Oracle分页查询

    MySQL: Select ... from ...where ...order by...limit start,pageNum 例:比如从 取 个数据 , String sql = )*pageR ...

  8. Oracle分页查询语句的写法

    分页查询是我们在使用数据库系统时经常要使用到的,下文对Oracle数据库系统中的分页查询语句作了详细的介绍,供您参考. AD:2013云计算架构师峰会精彩课程曝光 Oracle分页查询语句使我们最常用 ...

  9. oracle 分页查询数据重复问题

    最近在做项目的时候发现一个问题,oracle 在查询分页数据的时候,有几条数据重复查询了,并且有几条数据在分页的时候消失了.百度了一下发现,ORACLE 在查询数据的时候返回的行不是固定的,他只是按照 ...

随机推荐

  1. dedecms内容页调用缩略图 缩略图多种用法&lpar;借鉴&rpar;

    给大家分享一下文章内容页调用缩略图的方法. 这种问题是:文章有缩略图,但是文章里面没有,想把缩略图添加到文章里面. 1.文章内容页调用缩略图方法如下两种.第一种没有大小设置.原图显示.第二种.可以设大 ...

  2. 在VS2012中实现Ext JS的智能提示

    Visual Studio 2012太强大了,居然能自己会去提取Ext JS的类的属性和方法,从而实现只能提示.下面就来介绍一下实现这个功能. 在Visual Studio 2012中随便创建一个We ...

  3. (转)《深入理解java虚拟机》学习笔记8——Tomcat类加载器体系结构

    Tomcat 等主流Web服务器为了实现下面的基本功能,都实现了不止一个自定义的类加载器: (1).部署在同一个服务器上的两个web应用程序所使用的java类库可以相互隔离. (2).部署在同一个服务 ...

  4. jQuery ajax - serialize&lpar;&rpar; 方法

    http://www.jb51.net/article/60849.htm http://www.w3school.com.cn/jquery/ajax_serialize.asp

  5. 微服务(入门三):netcore ocelot api网关结合consul服务发现

    简介 api网关是提供给外部调用的统一入口,类似于dns,所有的请求统一先到api网关,由api网关进行指定内网链接. ocelot是基于netcore开发的开源API网关项目,功能强大,使用方便,它 ...

  6. 【JDK和Open JDK】平常使用的JDK和Open JDK有什么区别

    注意到这个问题,是在CentOS7上安装JDK的时候,查找相关的资料,发现安装JDK之前都需要检查或卸载系统上原生的Open JDK,这才引起了注意. 到了这里,引用查到的一篇说明. 转自:http: ...

  7. Python3学习之路~6&period;8 多态

    多态性(polymorphisn)是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象的特性以不同的方式运作.简单的说,就是一句话:允许将子类类型 ...

  8. VCL 中的 Windows API 函数&lpar;5&rpar;&colon; AlphaBlend

    AlphaBlend 是指定图像混合透明的函数, 在 Graphics.GraphUtil.RibbonStyleActnCtrls 单元用到. 下面的测试是把一张图片显示在窗体, 并可以调整透明度. ...

  9. mysql root 密码忘记

    首次安装mysql后,使用root登录mysql.终端会提示需要输入密码.可是安装的过程并没有提示输入root的密码.怎么办呢?通过修改my.conf配置绕开mysql的授权验证,重置root用户的密 ...

  10. mysql第一天作业

    1.在一个数据库中创建学生表,要求字段id,姓名,年纪三个字段:要求id为主键 2.在学生表添加一个班级字段,字符串类型,非空约束 3.将姓名字段改为唯一约束 4.将学生表名改为stu