oracle 11g 学习笔记 10_27

oracle复杂查询

*在from子句中使用子查询
.显示高于自己部门平均工资的员工的信息。
//1、查询出各个部门的平均工资和部门号
select deptno ,avg(sal) mysal from emp group by deptno;
//2、把上面的查询看作是一张子表a1,再结合emp表来进行多表查询
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.avg(sal);
注意:oracle 中给列取别名可以用as,但是给表取别名就不行了。
*分页查询
oracle分页一共有三种方式。
其中一种是 rownum分页
.查询分页中序号是4~9 的员工的信息,工资按降序来显示。
步骤:
//1、从emp表查询所有信息,工资按降序来显示
select ename, sal from emp order by sal desc;
//2、分页显示序号 <=9 的员工信息
select a1.*,rownum rn from (select ename,sal from emp order by sal desc) a1 where rownum <=9;
//3、从分页表中显示 >=4 的员工信息
select * from (select a1.*, rownum rn from (select ename,sal from emp order by sal desc) a1 
where rownum <=9) where rn >=4;
//这里不知道为什么 最后的‘where rn >= 4’中的rn不能改成rownum,说不清楚了。
*用查询结果创建新表
用这个命令可以快捷地创建一个表
create table mytable (id,name,sal,job,deptno) as select empno,ename,sal,job,deptno from emp;
这个可以创建了表,同时新表里面也已经有了原来表的数据,可以用来做导出表和在测试的时候不想对原
来的表修改删除什么的,也可以先导出来在上面做测试。
*合并查询
比较少用

二、创建数据库

两种方法:
1)通过oracle提供的向导工具
向导工具:oracle Database Configuration Assistant   
可以用来创建、删除、配置管理数据库。  
2)手工创建
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值