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

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

WBOY
WBOYOriginal
2016-06-07 15:24:311104Durchsuche

数据库的执行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"等***************************





Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn