>  기사  >  데이터 베이스  >  关于Oracle数据库各种操作大全(四)分页(视图)

关于Oracle数据库各种操作大全(四)分页(视图)

WBOY
WBOY원래의
2016-06-07 15:24:311104검색

数据库的执行sql是 从左到右 select deptno,avg(sal) mysal from emp group by deptno; select a2.ename,a2.sal,a1.mysal from emp a2 ,( select deptno,avg(sal) mysal from emp group by deptno ) a1 where a2.deptno=a1.deptno and a2.sala1.mysal;(a1、a

数据库的执行sql是 从左到右

关于Oracle数据库各种操作大全(四)分页(视图)

关于Oracle数据库各种操作大全(四)分页(视图)

select deptno,avg(sal) mysal from emp group by deptno;

关于Oracle数据库各种操作大全(四)分页(视图)

select a2.ename,a2.sal,a1.mysal  from emp a2,(select deptno,avg(sal) mysal from emp group by deptno) a1 where a2.deptno=a1.deptno and a2.sal>a1.mysal;(a1、a2为表别名,黄色填充部分也称为内嵌视图)

   注意: 给表取别名时别名前面不可加as,列取别名时可加可不加

关于Oracle数据库各种操作大全(四)分页(视图)

***1.rownum分页(常用)

select * from(select a1.*,rownum rn from (select * from emp) a1 where rownum=6;

若要指定查询列,只需修改最里层的视图,例如:

   select * from(select a1.*,rownum rn from (select * from emp order by sal) a1 where rownum=6;

***2. 根据rowid(效率最高)

关于Oracle数据库各种操作大全(四)分页(视图)

***3.按分析函数来分页(效率最差)

关于Oracle数据库各种操作大全(四)分页(视图)

关于Oracle数据库各种操作大全(四)分页(视图)

这种方法可把emp表中数据导入到新建mytable表中

关于Oracle数据库各种操作大全(四)分页(视图)

select ename,sal,job from emp where sal>2500 union

select ename,sal,job from emp where job=‘MANAGER’;

关于Oracle数据库各种操作大全(四)分页(视图)

关于Oracle数据库各种操作大全(四)分页(视图)

集合图展示:

关于Oracle数据库各种操作大全(四)分页(视图)

关于Oracle数据库各种操作大全(四)分页(视图)

集合图展示:(a集合减去b集合)

关于Oracle数据库各种操作大全(四)分页(视图)

*****************集合操作效率远远高于”or“"and"等***************************





성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.