如何查询表中第5条至第10条纪录?

[复制链接]
查看11 | 回复4 | 2015-10-8 17:57:58 | 显示全部楼层 |阅读模式
欲查询某表第5条至第10 条记录
以emp表为例,该表是这样创建的:
CREATE TABLE EMP
(EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,

ENAME VARCHAR2(10),

JOB VARCHAR2(9),

MGR NUMBER(4),

HIREDATE DATE,

SAL NUMBER(7,2),

COMM NUMBER(7,2),

DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);
插入14条记录
select count(*) from emp;
count(*)
-------------
14
用如下sql语句
select * from emp
where rownum between 5 and 10;
结果是:no row selected
用以下的sql语句,都是"no row selected"的结果。
请各位解释一下出现的原因,和伪列rownum的含义。
select* from emp
where rownum > 4 and rownum 4或者=5, 6, 7的rownum。
回复

使用道具 举报

千问 | 2015-10-8 17:57:58 | 显示全部楼层
这样的问题在这里已经讨论过不下10次了


回复

使用道具 举报

千问 | 2015-10-8 17:57:58 | 显示全部楼层
哦。。。。。。
就是说rownum一定要从1开始数的,一行没取出来,就不会有第二行。所以不会满足rownum>2这种条件的,对不对?
那么,假如要实现选择选择表中的第5行到第10行数据,怎么做呢?用rowid?
多谢!
回复

使用道具 举报

千问 | 2015-10-8 17:57:58 | 显示全部楼层
最初由 easyfree 发布
[B]这样的问题在这里已经讨论过不下10次了

[/B]

不好意思,欧眼大漏神了。近期都是ocp的考试题目之类的贴子,没见到讨论这个问题。呵呵。
搜索去了。
回复

使用道具 举报

千问 | 2015-10-8 17:57:58 | 显示全部楼层
select * from emp where rownum=5
and num 5
minus
select * from tablename where rownum < 10
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行