oracle查询笔记(2)
2012-05-15 00:01
211 查看
11.在多行子查询中使用all操作符
all表示所有,用在子句中
select ename,sal from emp where sal>all(select sal from emp where deptno=30);
等同于
select ename,sal from emp where sal>(select max(sal) from emp where deptno=30);
12.多行子查询中使用any操作符
select ename,sal from emp where sal>any(select sal from emp where deptno=30);
等同于
select ename,sal from emp where sal>(select min(sal) from emp where deptno=30);
13.多列子查询
select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');
14.oracle分页
1)rownum分页
select * from
(select rownum rn,a1.* from emp a1 where rownum<9)
where rn>4;
注意:所有的改动都只改里面的查询
2)rowid分页(效率是rownum的3倍)
select * from emp where rowid in
(select rid from
(select rownum rn,rid from
(select rowid rid,empno from emp order by empno desc)
where rownum<10)
where rn>3)
order by empno desc;
15.如何显示高于自己部门平均工资的员工的信息
select a1.* from emp a1,(select deptno,avg(sal) avgsal from emp group by deptno) a2 where a1.deptno=a2.deptno and a1.sal>a2.avgsal;
16.用查询结果创建新表
create table emp2 (empno,ename,sal) as
select empno,ename,sal from emp;
all表示所有,用在子句中
select ename,sal from emp where sal>all(select sal from emp where deptno=30);
等同于
select ename,sal from emp where sal>(select max(sal) from emp where deptno=30);
12.多行子查询中使用any操作符
select ename,sal from emp where sal>any(select sal from emp where deptno=30);
等同于
select ename,sal from emp where sal>(select min(sal) from emp where deptno=30);
13.多列子查询
select * from emp where (deptno,job)=(select deptno,job from emp where ename='SMITH');
14.oracle分页
1)rownum分页
select * from
(select rownum rn,a1.* from emp a1 where rownum<9)
where rn>4;
注意:所有的改动都只改里面的查询
2)rowid分页(效率是rownum的3倍)
select * from emp where rowid in
(select rid from
(select rownum rn,rid from
(select rowid rid,empno from emp order by empno desc)
where rownum<10)
where rn>3)
order by empno desc;
15.如何显示高于自己部门平均工资的员工的信息
select a1.* from emp a1,(select deptno,avg(sal) avgsal from emp group by deptno) a2 where a1.deptno=a2.deptno and a1.sal>a2.avgsal;
16.用查询结果创建新表
create table emp2 (empno,ename,sal) as
select empno,ename,sal from emp;
相关文章推荐
- Oracle 层次查询-学习笔记
- oracle 查询笔记
- Oracle笔记(十一) 建表、更新、查询综合练习
- oracle第7章学习子查询总汇/整理笔记
- Oracle学习查询语句的笔记
- Oracle笔记(四) 简单查询、限定查询、数据的排序
- Oracle笔记(六) 多表查询、统计函数及分组查询、子查询
- Oracle 学习笔记 查询(重点,也是基础)
- [笔记]Oracle、MySQL和DB2数据库分页查询的实现
- oracle常见查询转换笔记
- Oracle 11g学习笔记--查询闪回
- oracle笔记三-查询
- Tomcat+JSP+Oracle信息查询系统开发笔记(2)
- (05)oracle新人笔记------子查询练习(重点)
- Oracle笔记(四) 简单查询、限定查询、数据的排序
- oracle笔记第三章----查询
- Oracle笔记(中) 多表查询
- oracle 高级SQL查询笔记12-01
- oracle 内连接 外连接 查询 笔记
- 使用笔记:mysql与oracle进行sql查询时如何表示日期