您的位置:首页 > 数据库 > Oracle

在oracle表中怎么获得第5行到第7行的记录

2009-04-28 23:49 225 查看
在oracle表中怎么获得第5行到第7行的记录
在oracle中表test,

记录如下:

A

---

1

2

3

4

5

6

7

8

请问怎么获得第5行到第7行的记录呢?
/************************************答案***********************************/

select * from can_jsk where rownum <= 7 minus select * from can_jsk where rownum <= 5

/***********执行结果**************/
1* select * from emp where rownum <= 7 minus select * from emp where rownum <= 5

SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- ---------- ---------- ---------- ----------

7698 BLAKE MANAGER 7839 01-5月 -81 2850 30

7782 CLARK MANAGER 7839 09-6月 -81 2450 10

1* select * from emp where rownum!=10

SQL> /

EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO

---------- ---------- --------- ---------- ---------- ---------- ---------- ----------

7369 SMITH CLERK 7902 17-12月-80 800 20

7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 30

7521 WARD SALESMAN 7698 22-2月 -81 1250 500 30

7566 JONES MANAGER 7839 02-4月 -81 2975 20

7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 30

7698 BLAKE MANAGER 7839 01-5月 -81 2850 30

7782 CLARK MANAGER 7839 09-6月 -81 2450 10

7788 SCOTT ANALYST 7566 19-4月 -87 3000 20

7839 KING PRESIDENT 17-11月-81 5000 10

已选择9行。
/*********错误***********/
SQL> select* from emp where rownum <=2

2 minus

3 select * from emp where rownum<=5

4 ;

未选定行

注意:rownum只能用符号(<、<=、!=)。

select * from tablename where rownum != 10;返回的是前9条记录。

不能用:>,>=,=,Between...and。由于rownum是一个总是从1开始的伪列,Oracle 认为这种条件

只能用

select *

from table_name

where rownum < N

minus

select *

from table_name

where rownum < M

就可以选中 M 与 N之间的。

rownum是伪列,代表已经查询到的记录的行序号。还未查到的记录是没有rownum的。

因此ROWNUM>=1 AND ROWNUM<=10是可以查到前10条记录但是不能证明

ROWNUM>=500 AND ROWNUM<=600可以查处500~600的501条记录。

ROWNUM>=1 AND ROWNUM<=10在逻辑上相当于ROWNUM<=10

正确的方法是:

select * from (select Z_YXJK_DMDH.*, rownum as rid from Z_YXJK_DMDH where rownum<=600) where rid > 500

或者

select * from Z_YXJK_DMDH where rownum<=600

minus

select * from Z_YXJK_DMDH where rownum<=500

在效率上推荐前一种
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐