oracle学习记录之六
2011-11-27 19:32
253 查看
select * from emp where deptno=(select deptno from emp where ename='SMITH');
select * from emp where job in (select job from emp where deptno=10);
select ename, sal, deptno from emp where sal>(select max(sal) from emp where deptno=30);
select ename, sal, deptno from emp where sal> any (select sal from emp where deptno=30);
select * from emp where deptno=(select deptno from emp where ename='SMITH') and job=(select job
from emp where ename='SMITH');
select * from emp where (deptno, job) = (select deptno, job from emp where ename='SMITH');
select a1.ename, a1.sal, a1.deptno from emp a1, (select deptno, avg(sal) ss from emp group by
deptno) a2 where a1.deptno=a2.deptno and a1.sal>a2.ss;
select a1.*, rownum rn from (select * from emp) a1;
select a1.*, rownum rn from (select * from emp) a1 where rownum<10; --where子句中必须用rownum不能用rn
select * from (select a1.*, rownum rn from (select * from emp) a1 where rownum<10) where rn>5;
select * from (select a1.*, rownum rn from (select ename, sal, deptno from emp) a1 where rownum<10) where rn>6;
create table test(ename, sal, deptno) as select ename, sal, deptno from emp;
SQL> select * from emp where sal>2500
2 union
3 select * from emp where job='MANAGER';
SQL> select * from emp where sal>2500
2 intersect
3 select * from emp where job='MANAGER';
select * from emp where job in (select job from emp where deptno=10);
select ename, sal, deptno from emp where sal>(select max(sal) from emp where deptno=30);
select ename, sal, deptno from emp where sal> any (select sal from emp where deptno=30);
select * from emp where deptno=(select deptno from emp where ename='SMITH') and job=(select job
from emp where ename='SMITH');
select * from emp where (deptno, job) = (select deptno, job from emp where ename='SMITH');
select a1.ename, a1.sal, a1.deptno from emp a1, (select deptno, avg(sal) ss from emp group by
deptno) a2 where a1.deptno=a2.deptno and a1.sal>a2.ss;
select a1.*, rownum rn from (select * from emp) a1;
select a1.*, rownum rn from (select * from emp) a1 where rownum<10; --where子句中必须用rownum不能用rn
select * from (select a1.*, rownum rn from (select * from emp) a1 where rownum<10) where rn>5;
select * from (select a1.*, rownum rn from (select ename, sal, deptno from emp) a1 where rownum<10) where rn>6;
create table test(ename, sal, deptno) as select ename, sal, deptno from emp;
SQL> select * from emp where sal>2500
2 union
3 select * from emp where job='MANAGER';
SQL> select * from emp where sal>2500
2 intersect
3 select * from emp where job='MANAGER';
相关文章推荐
- Oracle-01-学习内容&安装遇到的问题记录
- Oracle学习记录1(单行函数,多行函数)
- Oracle学习记录2(多表查询)
- 从今天开始学习ORACLE,把学习的点点滴滴记录在此
- Oracle SQL脚本学习记录四
- Oracle学习记录之使用自定义函数和触发器实现主键动态生成
- Oracle学习记录整理笔记1-数据备份
- oracle学习记录之分页
- 学习oracle 入门第一课后的笔记记录
- Oracle学习记录1(单行函数,多行函数)
- Oracle学习记录2(多表查询)
- oracle学习记录之二
- oracle 学习记录
- oracle rman 学习记录
- oracle学习记录之十一
- Oracle学习记录1(单行函数,多行函数)
- Oracle学习记录2(多表查询)
- oracle学习记录之一
- [学习记录]Oracle中dual表的用途介绍
- oracle学习记录之十六