一:前言

自从出来实习后,基本上都没有按下心来总结下自己学的知识点,刚刚好现在快要国庆了,没有到深圳出差,在公司呆了三天,可以说是在公司打了三天的酱油啊,所以前两天都是在看些正则的文档,并且写了下总结(等到要写的时候才觉得好像也没什么要写的啊),所以还是一点一点的写吧,因为五月份的实习知识点自己也做了总结,但是一直都没有具体分开加载到博客园,我自己还是觉得好记性不如烂笔头啊。

二:oracle的rownum

  (1)在我刚刚出来时候觉得分页很难搞,现在也学了这么久,但是我自己觉得还是有点难度,可能是自己没有偶真的去理解的吧,对于rownum,刚刚开始用的是时候就是提取一定范围的数据,也可以用between····and来做,下面都会进行具体说一下。

  (2)rownum

    对于oracle来说,我们查询一条数据,条件是rownum小于10

select id,bh,xm,xb from t_table where rownum<10

这条语句是可以查询到数据的。

但是如果你的条件是查询的条件是rownum>10;如果直接写如下

select id,bh,xm,xb from t_table where rownum>10

这条sql语句是查询不到数据的。

所以我上网查了下,都说的是oracle支持rownum<m(m为大于1正整数)即是该条件是成立的,而对于rownum>m(m为正整数)来说是不支持的,即是该条件是不成立的,所以就没有数据。如果要查询大于多少多少,必须要进行子查询才行,下面具体举列子说说。

我现在要查询的10<rownum<100的数据,那么我们一步步的写如下:

第一步:查询rownum小于100的数据

select id,bh,xm,xb from t_table where rownum<100

下一步我们就是想查询大于10-的数据,如果你这样写那么就不会查询到数据

select rownum, id,bh,xm,xb from (select id,bh,xm,xb from t_table where rownum <100) where rownum>10

有可能不看到网上说需要给rownum命个别名如下:

select rownum rn, id,bh,xm,xb from (select id,bh,xm,xb from t_table where rownum <100) where rn>10

这样的话会报错,“rn标识符无效”,是由于查询的条件必须是表中的数据,用别名的话是不行的。

比如:

 select a.id as gg from t-table a where gg =1;

本条sql也是会报错的,因为where后面的条件必须是数据库中有的字段名或者是子查询出来的数据中包含的字段

在写句正确的如下

select a.id  from t_table a where id=1;

select bh from (select a.id  as gg ,a.bh from t_xx a)  where gg =1;

所以那么这里就应该懂了该如何写

还有一点要注意:就是rownum必须要用别名,如果不用的话查询不到数据,因为rownum不是某个表的列,不用别名的话就不知道是子查询中的还是主查询中的列了

select  id,bh,xm,xb from(select rownum , id,bh,xm,xb from (select id,bh,xm,xb from t_table where rownum <100) )) where rownum>10

所以最终的查询语句应该是这样的:

select  id,bh,xm,xb from(select rownum rn , id,bh,xm,xb from (select id,bh,xm,xb from t_table where rownum <100) )) where rn>10

三:总结

  算是写完了,以后自己想不明白时就可以多看看了。其实有时候静下心来时想想一些自己以前想不通的地方还是有好处的。这里的记载主要是提醒自己在写子查询语句时要注意字段的用于的范围。谨记谨记!!!

oracle中分页的知识的更多相关文章

  1. 对于Oracle中分页排序查询语句执行效率的比较分析

    转自:http://bbs.csdn.net/topics/370033478 对于Oracle中分页排序查询语句执行效率的比较分析 作者:lzgame 在工作中我们经常遇到需要在Oracle中进行分 ...

  2. Oracle中分页查询语句

    Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看. Oracle分页查询语句基本上可以按照本文给出的格式来进行套用.O ...

  3. oracle中分页函数写法

    1.常见的分页查询语句: 查询21到40条之间的数据:SELECT *FROM (select UI.*,ROWNUM RN FROM (select * from user_info) AWHERE ...

  4. Oracle中分页查询和联表查询

    1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=1 ...

  5. Oracle中分页查询语句的写法

    要动态的变化分页查询的条件,比如pageNow 这个变量表示的是当前是第几页, oracle分页有通用写法,假设一页5行 select * from ( select t.*,rownum rn fr ...

  6. Oracle中经典分页代码!

    在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢? --查询所有数据 STUNO STUNAME STUAGE S ...

  7. [转]Oracle中使用Rownum分页详细例子

    原文地址:http://www.jb51.net/article/52272.htm 在MySQL中,我们通常都使用limit来完成数据集获取的分页操作,而在Oracle数据库中,并没有类似limit ...

  8. Oracle中的SQL分页查询原理和方法详解

    Oracle中的SQL分页查询原理和方法详解 分析得不错! http://blog.csdn.net/anxpp/article/details/51534006

  9. ORACLE中的TOP-N查询(TOP-N分析)、分页查询

    TOP-N查询(TOP-N分析):就是获取某一数据集合中的前N条记录,实际应用中经常用到. Oracle中不支持SELECT TOP语句(MySQL中也没用此语句),需要借助ROWNUM伪列来实现TO ...

随机推荐

  1. 初步学习pg_control文件之二

    接前文:初步认识pg_control文件 继续学习,pg_control文件在何处形成的?是在initdb的时候,运用的函数如下: /* * This func must be called ONCE ...

  2. 类 java.util.Collections 提供了对Set、List、Map进行排序、填充、查找元素的辅助方法。

      类 java.util.Collections 提供了对Set.List.Map进行排序.填充.查找元素的辅助方法. 1. void sort(List) //对List容器内的元素排序,排序的规 ...

  3. kettle 遇到 解决Incorrect integer value: '' for column 'id' at row 1 完美解决-费元星

    最近自己在测试一个开源的程序,测试中发现.该程序都添加和更新的时候回出现 Incorrect integer value: '' for column 'id' at row 1类是的错误! 后来我自 ...

  4. vue循环绑定v-model

    直接上代码 结构: <repayInput v-if="formData" v-for="(item, index) in formData" :isPw ...

  5. Windows自带的磁盘填充命令

    一张不用了的SD卡要给别人,之前一直是手机使用的,担心有一些资料被恢复,想要将它内容清空.以前就知道数字公司有一个磁盘填充的工具,后来网上搜一搜发现Windows有一个自带的命令用于磁盘填充. 首先进 ...

  6. 「学习记录」《数值分析》第二章计算实习题(Python语言)

    在假期利用Python完成了<数值分析>第二章的计算实习题,主要实现了牛顿插值法和三次样条插值,给出了自己的实现与调用Python包的实现--现在能搜到的基本上都是MATLAB版,或者是各 ...

  7. Vue学习(一):Vue实例

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. Jenkins - 持续集成部署

    1. 安装svn:用于checkout源码 (1)yum 安装:yum -y install subversion (2)查看svn版本信息:svnserver --version 2. 安装jdk ...

  9. gitbook生成的_book文件本地打开后链接失效问题

    Gitbook 生成本地 html 的问题 在本地用 gitbook-cli根据 Summary 生成目录 然后在每个 md 文件里书写内容 然后用 gitbook serve .生成本地 html ...

  10. Daily Scrum02 11.29

    今天大家都已经开始了进行第二轮迭代的工作!相比第一轮迭代,每个人都已经有了一定开发经验,这次做起来顺手很多.薛神和肖犇的挑战最大,他们需要实现好友功能,手机间的通信.服务器的搭建都是难点,但他们的热情 ...