热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Oracle下复杂查询语句

Oracle下复杂查询语句1:列出所有员工的姓名,部门名称,和工资selecta1.ename,a1.sal,a2.dnamefromempa1,depta2wherea1.deptnoa2.deptno;2:列出所有部门的详细信息和部门人数www.2cto.co...Synta
Oracle下复杂查询语句
 
1:列出所有员工的姓名,部门名称,和工资
select a1.ename,a1.sal,a2.dname from emp a1,dept a2 where a1.deptno = a2.deptno;
2:列出所有部门的详细信息和部门人数  www.2cto.com  
select a2.deptno,a2.dname,a2.loc,count(a1.empno) from emp a1,dept a2 where a1.deptno(+) = a2.deptno group by a2.deptno,a2.dname,a2.loc;
3:列出所有员工的年工资,所在部门名称,按年薪升序排列
select a1.sal*12 ,a2.dname from emp a1,dept a2 where a1.deptno = a2.deptno order by a1.sal*12;
4:查出每个员工的上级主管及所在部门名称,并要求这些主管的薪水超过3000
select employee.ename,boss.ename ,a1.dname from emp employee,emp boss,dept a1 where employee.mgr = boss.empno and boss.deptno = a1.deptno and boss.sal >3000;
5:求出部门名称中带’S’字符的部门员工的工资合计,部门人数
SELECT d.deptno,NVL(SUM(sal),0),COUNT(empno)FROM emp e,dept d WHERE e.deptno(+)=d.deptno AND d.dname LIKE '%S%' GROUP BY d.deptno ;
6:列出部门名称和这些部门的员工信息(数量,平均工资),同时列出那些没有员工的部门
select d.dname,avg(e.sal),count(e.empno) from emp e,dept d where e.deptno(+)=d.deptno group by d.dname;  www.2cto.com  
7:列出在部门”SALES”工作的员工姓名,基本工资,雇用日期,部门名称,假定不知道销售部的部门编号
select a1.ename,a1.sal,a1.hiredate,a2.dname from emp a1,dept a2 where a1.deptno = a2.deptno and a2.dname = 'SALES';
8:列出公司各个工资等级雇员的数量,平均工资
select grade,count(*),avg(sal) from emp, salgrade where sal between losal and hisal group by grade;
9:列出薪水高于在部门30工作的所有员工的薪金的员工姓名和薪金,部门名称
select a1.ename,a1.sal,a2.dname from emp a1, dept a2 where a1.deptno = a2.deptno and sal > all(select sal from emp where deptno = 30);
10:列出受雇日期早于直接上级的所有员工的编号,姓名,部门名称,部门位置,部门人数
SELECT e.empno,e.ename,d.dname,d.loc,temp.count
FROM emp e,emp m,dept d,(
     SELECT deptno dno, COUNT(empno) count
     FROM emp
     GROUP BY deptno) temp
WHERE e.mgr = m.empno(+) AND e.hiredate
AND e.deptno = d.deptno
AND e.deptno = temp.dno;
11:列出所有“clerk”的姓名及其部门名称,部门人数,工资等级
SELECT e.ename , d.dname ,temp.count,s.grade
FROM emp e, dept d,(
     SELECT deptno dno,COUNT(empno) count
     FROM emp  www.2cto.com  
     GROUP BY deptno) temp,salgrade s
WHERE job='CLERK'
AND e.deptno = d.deptno
AND d.deptno = temp.dno
AND e.sal BETWEEN s.losal AND s.hisal;
12:列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称,位置,平均工资
SELECT t.job,t.count,d.dname,e.ename,reg.avg
FROM dept d,(
     SELECT e.job,COUNT(e.empno) count
     FROM emp e
     GROUP BY e.job
     HAVING MIN(e.sal)>1500
)t,emp e,(
       SELECT deptno dno,AVG(sal) avg
       FROM emp
       GROUP BY deptno
)reg
WHERE e.deptno = d.deptno AND e.job = t.job
AND e.deptno = reg.dno;
13:列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的工资等级
select a1.ename,a2.dname,a1.mgr,a3.grade from emp a1,dept a2,salgrade a3,(select avg(sal) mysal from emp) a4 where a1.deptno = a2.deptno and sal between a3.losal and a3.hisal and a1.sal > a4.mysal;  www.2cto.com  
14:列出与SCOTT从事相同工作的所有员工及部门名称,部门人数
SELECT e.empno,e.ename,e.job,d.dname,temp.count FROM emp e,dept d,(SELECT deptno dno,COUNT(empno) count FROM emp GROUP BY deptno) temp
WHERE e.job=(SELECT job FROM emp WHERE ename=&#39;SCOTT&#39;) AND e.ename<>&#39;SCOTT&#39; AND e.deptno=d.deptno AND temp.dno=e.deptno;
15:列出在每个部门工作的员工数量,平均工资,和平均服务年限
SELECT d.dname,count(e.empno),avg(e.sal),round(avg(sysdate-e.hiredate)/365) from emp e,dept d where e.deptno(+)=d.deptno GROUP BY d.dname;
16:列出各种工作的最低工资及此雇员姓名
select a1.ename,a1.job,a1.sal from emp a1,(select job,min(sal) min_sal from emp group by job) a2 where a1.job=a2.job and a1.sal=a2.min_sal;  www.2cto.com  
17:列出各个部门的MANAGER的最低薪金,姓名,部门名称,部门人数
select e.sal,e.ename,d.dname, count from(select job,min(sal) sal,ename,deptno from emp where job=&#39;MANAGER&#39;GROUP BY job,ename,deptno) e,
(select d.deptno,d.dname,count(e.empno) count fromemp e,dept d wheree.deptno=d.deptno GROUP BY d.deptno,d.dname) d
where e.deptno=d.deptno;
Oracle分页(根据ROWNUM分页)
select * from (select a1.*,rownum rn from (select ename,sal from emp order by sal) a1 where rownum<=10) where rn >=6;
 
 
 
作者 夜半风雨

推荐阅读
  • 使用Numpy实现无外部库依赖的双线性插值图像缩放
    本文介绍如何仅使用Numpy库,通过双线性插值方法实现图像的高效缩放,避免了对OpenCV等图像处理库的依赖。文中详细解释了算法原理,并提供了完整的代码示例。 ... [详细]
  • 深入理解父组件与子组件的引用和访问
    本文详细介绍了如何在Vue.js中通过$children和$refs属性实现父组件对子组件的访问,并提供了具体的代码示例及最佳实践。 ... [详细]
  • 极大似然估计(MLE)及其3D可视化解析
    本文详细介绍了极大似然估计(Maximum Likelihood Estimation, MLE)的推导过程,并通过3D可视化展示其在概率密度函数中的应用。我们将探讨如何利用MLE来估计参数,以及它在实际问题中的重要性。 ... [详细]
  • 2023 ARM嵌入式系统全国技术巡讲旨在分享ARM公司在半导体知识产权(IP)领域的最新进展。作为全球领先的IP提供商,ARM在嵌入式处理器市场占据主导地位,其产品广泛应用于90%以上的嵌入式设备中。此次巡讲将邀请来自ARM、飞思卡尔以及华清远见教育集团的行业专家,共同探讨当前嵌入式系统的前沿技术和应用。 ... [详细]
  • 本文介绍如何解决在 IIS 环境下 PHP 页面无法找到的问题。主要步骤包括配置 Internet 信息服务管理器中的 ISAPI 扩展和 Active Server Pages 设置,确保 PHP 脚本能够正常运行。 ... [详细]
  • Python 异步编程:深入理解 asyncio 库(上)
    本文介绍了 Python 3.4 版本引入的标准库 asyncio,该库为异步 IO 提供了强大的支持。我们将探讨为什么需要 asyncio,以及它如何简化并发编程的复杂性,并详细介绍其核心概念和使用方法。 ... [详细]
  • 探讨一个老旧 PHP MySQL 系统中,时间戳字段不定期出现异常值的问题及其可能原因。 ... [详细]
  • 国内BI工具迎战国际巨头Tableau,稳步崛起
    尽管商业智能(BI)工具在中国的普及程度尚不及国际市场,但近年来,随着本土企业的持续创新和市场推广,国内主流BI工具正逐渐崭露头角。面对国际品牌如Tableau的强大竞争,国内BI工具通过不断优化产品和技术,赢得了越来越多用户的认可。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 郑州大学在211高校中的地位与排名解析
    本文将详细解读郑州大学作为一所位于河南省的211和双一流B类高校,在全国211高校中的地位与排名,帮助高三学生更好地了解这所知名学府的实力与发展前景。 ... [详细]
  • 深入理解 Oracle 存储函数:计算员工年收入
    本文介绍如何使用 Oracle 存储函数查询特定员工的年收入。我们将详细解释存储函数的创建过程,并提供完整的代码示例。 ... [详细]
  • 优化ASM字节码操作:简化类转换与移除冗余指令
    本文探讨如何利用ASM框架进行字节码操作,以优化现有类的转换过程,简化复杂的转换逻辑,并移除不必要的加0操作。通过这些技术手段,可以显著提升代码性能和可维护性。 ... [详细]
  • 本文总结了2018年的关键成就,包括职业变动、购车、考取驾照等重要事件,并分享了读书、工作、家庭和朋友方面的感悟。同时,展望2019年,制定了健康、软实力提升和技术学习的具体目标。 ... [详细]
  • 电子元件封装库:三极管、MOS管及部分LDO(含3D模型)
    本资源汇集了常用的插件和贴片三极管、MOS管以及部分LDO的封装,涵盖TO和SOT系列。所有封装均配有高质量的3D模型,共计96种,满足日常设计需求。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
author-avatar
于华521_811
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有