oracle ROWNUM的使用
? 由于Oracle中没有像MySql中limit函数以及SQLServer中的top关键字等,所以只能通过伪列的方式去满足分页功能 ROWNUM的使用注意: ? (1)对 <= ?操作,rownum是支持的,表示输出结果的前XX条数据? SELECT ROWNUM,empno,ename,job FROM emp WHERE ROWNUM < 10; ? (2)不能对ROWNUM进行>、=、>=、操作,否则无结果SELECT ROWNUM,job FROM emp t ?WHERE ROWNUM > 10; 这是因为: 1、ROWNUM是伪列,必须要要有返回结果后,每条返回记录就会对应产生一个ROWNUM数值; 2、ROWNUM是Oracle首先进行查询获取到结果集之后在加上去的一个伪列,这个伪列对符合条件的结果添加一个从1开始的序列号,第一条始终是1; 这样,当查询到第一条记录时,该记录的ROWNUM为1,但条件要求ROWNUM>1,因此不符合,继续查询下一条;因为前面没有符合要求的记录,因此下一条记录过来后,其ROWNUM还是为1,如此循环,就不会产生结果 ?
(3)分页查询--以每页输出10个结果的方式分页输出: select * --备份表/一次插入大数据 CREATE TABLE emp_bak AS SELECT * FROM emp;INSERT INTO emp_bak SELECT * FROM emp; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |