一:前言

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

二: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. Spring+quartz cron表达式(cron手册官方)完美理解

    ------------------------------------- 15 17/1 14/3 * * ? 从每小时的17分15秒开始 每分钟的15秒执行一次14:17:15 ...14:59: ...

  2. 02-Mysql数据库----初识

    什么是数据(Data) 描述事物的符号记录称为数据,描述事物的符号既可以是数字,也可以是文字.图片,图像.声音.语言等,数据由多种表现形式,它们都可以经过数字化后存入计算机 在计算机中描述一个事物,就 ...

  3. ORM选型对比

    ORM框架选型 ORM框架选型 jian A YEAR AGO (2017-04-10) orm, database 选型标准:实现O/R mapping,基于promise,支持原生SQL语句,支持 ...

  4. Introduction to TCP/IP

    目录 First Week DHCP 子网掩码 ip路由表 Second Week ipv4 ipv6 TCP和UDP Third Week NAT RPC FTP E-mail Fouth Week ...

  5. 软工实践 - 第二十五次作业 Beta 冲刺(3/7)

    队名:起床一起肝活队 组长博客:https://www.cnblogs.com/dawnduck/p/10116979.html 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过 ...

  6. c语言实现带LRU机制的哈希表

    #include <stdint.h> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  7. Hadoop伪分布式安装步骤(hadoop0.20.2版本)

    最近在学习hadoop,自己下了个视频教程,他的教学版本是hadoop0.20.2版本,现在的最新版本都到了3.0了,版本虽然有点老,但是还是学了一下,觉得有借鉴的价值. 不废话了,开始介绍: 先说一 ...

  8. web相关基础知识2

    2017-12-14 17:14:22 块元素 典型代表,Div,h1-h6,p,ul,li 特点: ★独占一行 ★可以设置宽高  ★ 嵌套(包含)下,子块元素宽度(没有定义情况下)和父块元素宽度默认 ...

  9. 【WebService】——阶段小结

    [概念] WebService集中解决了远程调用.跨平台和跨语言的问题.如下图中,A应用与B应用之间的相互调用不再局限于平台(Linux或Windows).语言(Java和C#). [与xml] 提到 ...

  10. 【工具学习】——教你读懂Maven的配置文件

    [前言] 最近在项目中用到了maven工具,相信很多第一次接触maven的人都有这样的困惑,maven的文件很简单,就像下图中的结构一样,但是它的功能十分强大,那是怎么做到的呢?配置文件!配置文件里是 ...