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

Oracle学习笔记8

一.常见问题
1)求部门中哪些人的薪水最高
Select ename, sal from emp
Join (select max(sal) max_sal, deptno from emp group by deptno) t
On (emp.sal = t.max_sal and emp.deptno = t.deptno);
2)求部门平均薪水的等级
Select deptno, avg_sal, grade from
(select deptno, avg(sal) avg_sal from emp group by deptno) t
Join salgrade s on (t.avg_sal between s.lowsal and s.highsal);
3)求部门平均的薪水等级
Select deptno, avg(grade) from
(select deptno, ename, grade from emp join salgrade s on (emp.sal between s. lowsal and s.highsal)) t
Group by deptno;
4)求雇员中有那些人是经理人
Select ename from emp where empno in (select distinct mgr from emp);
5)不准用组函数,求薪水的最高值(面试题)
Select distinct sal from emp where sal not in
(select distinct e1.sal from emp e1 join emp e2 on (e1.sal < e2.sal));
6)求平均薪水最高的部门的部门编号
Select deptno from (select avg(sal) avgsal, deptno from emp group by deptno)
Where avgsal = (select max(avgsal) from (select avg(sal) avgsal, deptno from emp group by deptno));
7)求平均薪水最高的部门名称
Select dname from dept where deptno =
         (
         Select deptno from (select avg(sal) avgsal, deptno from emp group by deptno)
Where avgsal = (select max(avgsal) from
(select avg(sal) avgsal, deptno from emp group by deptno)
);
);
8)求平均薪水的等级最低的部门的部门名称
select deptname
from (
  select deptno, grade
  from (
select deptno,avg(sal) avg_sal from emp group by deptno) t join salgrade s on
                       (t.avg_sal between s.lowsal and s.highsal)
     ) t1 join dept d on (t1.deptno = d.deptno);
where t1.grade =
         (
       select min(grade)
         from (
&


相关文档:

[Oracle]高效的PL/SQL程序设计(二)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

[Oracle]高效的PL/SQL程序设计(五)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

mysql 与Oracle 函数对比

Oracle函数和mysql函数比较
1.       Oracle中的to_number()转换成数字;
Oracle> Select to_number(‘123’) from dual;  -----         123;
           &nbs ......

mysql与Oracle update的区别

update :单表的更新不用说了,两者一样,主要说说多表的更新
   
       Oracle> Oracle的多表更新要求比较严格,所以有的时候不是很好写,我们可以试试Oracle的游标
               &n ......

sqlserver:openrowset / oracle:table/view@dblink名

只是sqlserver 提供的远程数据访问函数;  在本地sqlserver 中取外部数据源数据时候可用;
对连接本地 oracle 操作远程 oracle 不能使用; 测试: pl/sql 中使用:
select * from openrowset(................); 无效!!!!!!!!!!!!!!
在oracle 中需要访问远程数据,需要建立一连接远程oracle 的 dblink ;
再用如下方 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号