易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle学习笔记4 稍复杂的查询和分页

仍然使用SCOTT用户来操作:
1、         显示工资比部门30的所有员工的工资都高的员工的信息:
Select * from emp where sal>all(select sal from emp where deptno=30);
2、         显示工资比部门30的任意一个员工的工资高就可以的员工的信息:
Select * from emp where sal>any(select sal from emp where deptno=30);
其实,换种方法也是可以的:
Select * from emp where sal>(select min(sal) from emp where deptno=30);
3、         找出和SMITH的部门号、工作都相同的员工的信息:
Select * from emp where (deptno,job)=(Select deptno,job from emp where ename=’SMITH’);
4、         如何显示高于自己部门平均工资的员工的信息
解决这个复杂一点的查询,我们可以这样考虑:
先找出每个部门的平均工资:
Select deptno,avg(sal) avg_sal from emp group by deptno;结果如下:
SQL> select deptno,avg(sal) avg_sal from emp group by deptno;
 
DEPTNO    AVG_SAL
------ ----------
    30 1566.66666
    20       2175
    10 2916.66666
然后我们就可以把这张表当成一张子表使用:
select a2.ename,a2.sal,a2.deptno,a1.avg_sal from emp a2,(select deptno,avg(sal) avg_sal from emp group by deptno) a1 where a2.deptno=a1.deptno and a2.sal>a1.avg_sal;
结果为:
ENAME            SAL DEPTNO    AVG_SAL
---------- --------- ------ ----------
ALLEN        1600.00     30 1566.66666
JONES        2975.00     20       2175
BLAKE        2850.00     30 1566.66666
SCOTT        3000.00     20       2175
K


相关文档:

Oracle数据库的导入导出

oracle数据库的导入与导出是做为一名实施工程师或维护工程师每经常要做的工作。当数据库结构需要做变化的时候,我们一般先将数据做备份,此时我们需要使用到Oracle的导出功能。当我们在做导入的时候出错或者我们的数据遭到错误删除的时候,我们需要恢复数据库,那我们需要使用到导入的功能。现在也有很多功能能够帮我们做到 ......

ORACLE 如何产生一个随机数

ORACLE 如何产生一个随机数:DBMS_RANDOM
--1、小数( 0 ~ 1)
     select dbms_random.value from dual ;
--2、指定范围内的小数 ( 0 ~ 100 )
     select dbms_random.value(0,100) from dual ;
--3、指定范围内的整数 ( 0 ~ 100 )
     select trunc(d ......

SQL 开发人员 Oracle Berkeley DB 指南(zz)

转载一个BDB的相关介绍,基本可以当速成手册用,更多的文档可以去Oracle官方网站下载。
SQL 开发人员 Oracle Berkeley DB 指南
作者:Margo Seltzer
Oracle Berkeley DB 中常用 SQL 函数使用指南。
2007 年 9 月发表
常常有人问 Oracle Berkeley DB “我如何在 Berkeley DB 中进行 <SQL 查询>?"因此,我们 ......

oracle之DBWn进程

    DBWn进程负责将脏数据块写入磁盘。它是一个非常重要的进程,随着内存的增加,一个DBWn进程可能不够用了。从oracle8i起,我们可以为系统配置多个DBWn进程。初始化参数db_writer_process决定了启动多少个DBWn进程。每个DBWn进程都会分配一个cache lru chain latch。
   DBWn作为一个后台进程, ......

Oracle学习笔记3 简单查询

表的查找:
select * from emp where (sal>500 or job='MANAGER') and ename like 'J%';
引号里边的字符是区分大小写的。
查找之后把结果排序:
select * from emp order by sal asc;
asc是升序,desc是降序
 
对列重命名,只要打个空格,后跟新列名就可以
select ename,sal*12+nvl(comm,0)*12 "年薪" from ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号