oracle分页查询、rownum 、临时表

1、伪列:rownum

(1)rownum永远按照默认的顺序生成

(2)rownum只能使用<、<=;不能使用>、>=(因为oracle是行式数据库,)

 

例子:查询工资排前三的员工信息

select rownum,empno,ename,sal
from(select *
from emp
order by sal desc)
where rownum <= 3

2、分页查询

例子:分页查询,一页显示4条,现在查询第二页

错误(rownum后不能使用>、>=):

select rownum,empno,ename,sal
from(select *
from emp
order by sal desc)
where rownum>=5 and rownum <= 8

正确:

select e2.r,empno,ename,sal
from(select rownum r,empno,ename,sal
from(select *
from emp
order by sal desc) e1
where rownum <= 8) e2
where e2.r>=5

3、oracle三种表:标准表,索引表,临时表

临时表2种创建方式:

(1)手动:create global temporary table ****

(2)自动:排序(所以排序后我们看到的表示临时表)

特点:当事务或者会话结束的时候,表中的数据自动删除

你可能感兴趣的:(#,Oracle)