1.orcale的分页
一共有三种方式进行分页,使用rownum这种方式进行分页效率还可以且代码比较简单,其代码如下
查询第六到第十条数据
select * from(select a1.*,rownum rn from(select ename,empno,sal from emp order by sal) a1 where rownum<10) where rn>6;
*rownum有点怪,在同一层时不支持别名操作,且只能输出rownum小于某个值的数据而不能输出大于某个值的数据
*所有的更改都要在最底层子函数进行
2.合并查询
有时在实际应用中,为了合并多个select语句的结果,可以使用集合操作符号union,union all,intersect,minus
这些查询方式极快,但不适合菜鸟级别的人
<1.union
该操作符用于取得两个结果集的并集。当使用该操作符的时候会自动去掉结果集中重复行
select ename,sal,job from emp where sal>2500 union
select ename,sal,job from emp where job='MANAGER';
<2.union all
该操作与union相似,但不会取消重复行,而且不会排序
select ename,sal,job from emp where sal>2500 union all
select ename,sal,job from emp where job='MANAGER';
<3.intersect
该操作与union正好相反,它用于取得两个结果的交集
select ename,sal,job from emp where sal>2500 intersect
select ename,sal,job from emp where job='MANAGER';
<4.minus
该操作符用于取得两个结果的差集,差集结果为第一个集合的结果减去第二个集合的结果
select ename,sal,job from emp where sal>2500 minus
select ename,sal,job from emp where job='MANAGER';