Oracle 经典语法(四)
1. 各个部门平均、最大、最小工资、人数,按照部门号升序排列。
SELECT deptno AS 部门号,AVG(sal) AS 平均工资 ,MAX(sal) AS 最高工资,MIN(sal) AS 最低工资 ,COUNT(*) AS 人数 FROM emp GROUP BY deptno ORDER BY deptno ASC;
2. 各个部门中工资大于5000的员工人数。
SELECT deptno,COUNT(*) FROM emp WHERE sal > 5000 GROUP BY deptno;
3. 各个部门平均工资和人数,按照部门名字升序排列。
SELECT DNAME,AVG(SAL),COUNT(*) FROM (SELECT (SELECT DEPT.DNAME FROM DEPT WHERE DEPT.DEPTNO = EMP.DEPTNO) DNAME,EMP.SAL FROM EMP) GROUP BY DNAME ORDER BY DNAME;
4. 列出每个部门中有同样工资的员工的统计信息,列出他们的部门号,工资,人数。
SELECT EMP1.DEPTNO,EMP1.SAL,COUNT(*) FROM EMP EMP1,EMP EMP2
WHERE EMP1.DEPTNO = EMP2.DEPTNO
AND EMP1.SAL = EMP2.SAL
AND EMP1.EMPNO <> EMP2.EMPNO
GROUP BY EMP1.DEPTNO,EMP1.SAL;
5. 列出同部门中工资高于1000 的员工数量超过2 人的部门,显示部门名字、地区名称。
SELECT
D.DNAME,D.LOC,COUNT(*)
FROM EMP E,DEPT D
WHERE E.DEPTNO = D.DEPTNO AND
E.SAL > 1000
GROUP BY D.DNAME,D.LOC
HAVING COUNT(*) > 2;
6. 哪些员工的工资,高于整个公司的平均工资,列出员工的名字和工资(降序)。
SELECT ENAME,SAL
FROM EMP
WHERE SAL> (
SELECT AVG(SAL)
FROM EMP
)
ORDER BY SAL DESC;
7. 哪些员工的工资,介于10号 和30号部门平均工资之间。
SELECT ENAME,SAL
FROM EMP
WHERE SAL
BETWEEN
(SELECT AVG(SAL) FROM EMP
WHERE DEPTNO = 10)
AND (SELECT AVG(SAL) FROM EMP
WHERE DEPTNO = 80);
SELECT * FROM EMP
8. 所在部门平均工资高于5000 的员工名字。
SELECT ENAME,SAL
FROM EMP
WHERE DEPTNO IN
(SELECT DEPTNO FROM EMP
GROUP BY DEPTNO
HAVING AVG(SAL) > 5000);
9. 列出各个部门中工资最高的员工的信息:名字、部门号、工资。
SELECT ENAME
,SAL ,DEPTNO
FROM EMP
WHERE (DEPTNO,SAL ) IN
(SELECT DEPTNO,MAX(SAL)
FROM EMP
GROUP BY DEPTNO);
10. 最高的部门平均工资是多少。
SELECT MAX(AVGSALARY)
FROM(SELECT DEPTNO,AVG(SAL) AVGSALARY
FROM EMP
GROUP BY DEPTNO);
Oracle 经典语法(四)的更多相关文章
- Oracle 经典语法(一)
员工表 emp Name Type Nullable Default Comments -------- ------------ -------- ------- ----- ...
- Oracle 经典语法(五)
1. 哪些部门的人数比20 号部门的人数多.SELECT DEPTNO,COUNT(*) FROM EMP GROUP BY DEPTNO HAVING COUNT(*) > ...
- Oracle 经典语法(三)
1. 让SELECT TO_CHAR(sal,'L99,999.99') FROM emp WHERE ROWNUM < 5 输出结果的货币单位是¥和$.SELECT TO_CHAR(sal, ...
- Oracle 经典语法(二)
--提示:工资 = 薪金 + 佣金 1. 找出EMP表中的姓名(ENAME)第三个字母是A 的员工姓名.SELECT ENAME FROM SCOTT.EMP WHERE ENAME LIKE '__ ...
- Oracle经典SQL
最近本人整理了一些Oracle sql,现分享给大家,后续还会更新.如果有错误的地方,请指正,共同学习.贴上去的sql都是我测试过的,大家可以粘贴在自己的电脑上试试. 1.查询部门的名称,及最低收入雇 ...
- 【Oracle经典】132个oracle热门精品资料——下载目录
电子书为网友wglzaj精心整理,这批资料下载量好评率都非常高,广受oracle学习者欢迎.文档共整理了12个精品专题和120个热门资料的下载地址,推荐给大家希望大家喜欢. 目录0豆下载地址:http ...
- ORACLE基本语法
ORACLE基本语法 一.ORACLE的启动和关闭1.在单机环境下要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下su - oraclea.启动ORACLE系统oracle>s ...
- Oracle存储过程语法
原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 ...
- [SQL] Oracle基础语法
1.安装: oracle11g server 这里的口令为sys和system的密码.(10版本以前默认用户会有系统默认密码.) Oracle 11g 默认用户名和密码 oracle11g clien ...
随机推荐
- 移动端页面的head头部内容
- HDU3033I love sneakers!(分组背包)
http://acm.hdu.edu.cn/showproblem.php?pid=3033 本题的意思就是说现在有n种牌子的鞋子,每种品牌有一些不同的鞋,每双鞋子都有一个特定的权值,现在要求每种品牌 ...
- JVM的内存管理机制
在做Java开发的时候常用的JVM内存管理有两种,一种是堆内存,一种是栈内存.堆内存主要用来存储程序在运行时创建或实例化的对象与变量,例如:我们通过new MyClass()创建的类MyClass的对 ...
- IIS7下.NET4.0 网站UrlRewriter.dll重写无后缀路径 失效
解决方法: 1.添加通配符脚本映射,选择:C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll 2.找到和网站相对的连接池,选择 ...
- UserControl和CustomControl基础【PluraSight】
UserControl UserControl实际上就是ContentControl,xaml里<UserControl></UserControl>tag之间包含的实际就是后 ...
- js时间转换相关
1.json时间格式转换 function ChangeDateFormat(jsondate) { if (!jsondate||jsondate.length < 1) {return &q ...
- Swift 实现Bitmask Option(Enum)
在Swift中实现ObjC中的NS_OPTION不是通过enum,而是通过conform RawOptionSetType protocol的struct来实现的. 代码如下: struct Test ...
- Win7环境下VS2010配置Cocos2d-x-2.1.4最新版本号的开发环境
写这篇博客时2D游戏引擎Cocos2d-x的最新版本号为2.1.4,记得非常久曾经使用博客园博主子龙山人的一篇博文<Cocos2d-x win7+vs2010配置图文具体解释(亲測)>成功 ...
- hadoop分布式部署(2014-3-8)
hadoop简介: (维基百科)Apache Hadoop是一款支持數據密集型分佈式應用并以Apache 2.0許可協議發佈的開源軟體框架.它支持在商品硬件構建的大型集群上運行的應用程序.Hadoop ...
- Educational Codeforces Round 7 E. Ants in Leaves 贪心
E. Ants in Leaves 题目连接: http://www.codeforces.com/contest/622/problem/E Description Tree is a connec ...