oracle 读书笔记 三

本文介绍SQL中的高级查询技术,包括使用子查询展示部门内工资高于平均水平的员工信息、实现分页查询的不同方法以及通过查询结果快速创建新表的实用技巧。

在from字句中使用子查询

 如何显示高于自己部门平均工资的员工的信息

select a2.ename,a2.sal,a2.deptno,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

内嵌视图时,必须制定别名

 

分页查询

一共有三种方式

1.rownum分页

select * from (select al.*,rownum rm from (select * from emp) a1 where rownum <=10) where rm >=6;

 

几个查询的变化:

a.指定查询列,只需改最里面的查询即可

b。排序,也只需在最里面的查询即可

 

显示第4-9的语句

 

第二种:根据rowid来分 效率最高

select * from t.xiaoxi where rowid in(select rid from (select rownum rm,rid from (select rowid rid ,cid from t.xiaoxi order by cid desc) where rownum<10000)where rn>9980) order by cid desc;

 

用查询结果创建新标

 这个命令是一种快捷的见表方式

create table mytable(id,name,sal,job,deptno) as select empno,ename,sal,job ,deptno from emp;

 

合并查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值