Oracle中为什么where rownum > 3 查找不到数据?
查询表emp中所有数据
select emp_id,rownum from emp
第一步,查询结果,rownum待定
emp_id rownum
1 ? 1
2 ? 2
3 ? 3
4 ?
第二步,现在假设用rownum < 3的条件来过滤
第一行,rownum初始分配为1,满足rownum <3的条件,然后rownum加1
第二行,rownum现在为2,满足 < 3的条件,然后rownum加1
.....
第二步,现在假设用 rownum > 2的条件来过滤
现在看第一行,rownum初始分配为1, 不满足rownum>2的条件,rownum不会加1
第二行,rownum还是1,同样不满足>2的条件
....
所以,最后的查询结果,一条数据也没有
例子,取第3行倒第5行当数据
select * from
(select t.*,rwonum rn
from emp t
where rownum < 5 )
where rn > 3
相关文档:
今天复习第三章,本来算起来应该是第二章的,但是第二章的内容是介绍数据库的管理工具,而对于我们而言,这些相对来说没有多大的必要,所以,现在步入复习Oracle实例的管理。这章的内容包括初始化参数文件的维护和管理,以各种不同的方式启动和概念比数据库Oracle Instance,以及对Oracle I ......
如何远程判断Oracle数据库的安装平台
select * from v$version;
查看表空间的使用情况
select sum(bytes)/(1024*1024) as free_space,tablespace_name
from dba_free_space
group by tablespace_name;
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES ......
PL/SQL单行函数和组函数详解
函数是一种有零个或多个参数并且有一个返回值的程序。在SQL中Oracle内建了一系列函数,
这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类:
单行函数
组函数
本文将讨论如何利用单行函数以及使用规则。
SQL中的单行函数
SQL和PL/SQL中自带很多类型的函数,有字符、数字、日期、转 ......
select r.rollid as rollid from zh1_rool r where r.date_p >=to_date('2009-11-26 23:59:59','yyyy-mm-dd hh24:mi:ss') and rollid not in
(select t.lot_number as rollid
from inv.mtl_onhand_quantities_detail t
left join mtl_system_items_b mi
on t.inventory_item_id = mi.inventory_ ......