Oracle 子查询和组函数练习
SELECT * FROM emp;

SELECT * FROM dept;

1、查询公司员工工资的最大值,最小值,平均值和总和。
SELECT MAX(sal) AS 工资最大值, MIN(sal) AS 工资最小值
, AVG(sal) AS 工资平均值, SUM(sal) AS 工资总和
FROM emp;

2、查询各 job 的员工工资的最大值,最小值,平均值和总和。
SELECT job, MAX(sal), MIN(sal)
, AVG(sal), SUM(sal)
FROM emp
GROUP BY job;

3、选择具有各个 job 的员工人数
SELECT job, COUNT(job) AS 人数
FROM emp
GROUP BY job;

4、显示平均工资 >2000 的职位
SELECT job
FROM emp
GROUP BY job
HAVING AVG(sal) > 2000;

5、计算工资在 2000 以上,各种职位的平均工资大于 3000 的职位及平均工资。
SELECT job, AVG(sal)
FROM emp
WHERE sal > 2000
GROUP BY job
HAVING AVG(sal) > 3000;

6、找出每个部门的最高和最低工资
SELECT deptno, MAX(sal) AS 最高工资, MIN(sal) AS 最低工资
FROM emp
GROUP BY deptno;

7、显示出工作名称 (job) 中包含"MAN"的员工的平均工资,最高工资,最低工资及工资的和。
SELECT AVG(sal) AS 平均工资, MAX(sal) AS 最大工资
, MIN(sal) AS 最小工资, SUM(sal) AS 工资总和
FROM emp
WHERE job LIKE '%MAN%';

8、显示出 20 号部门的员工人数
SELECT deptno, COUNT(empno) AS 员工人数
FROM emp
WHERE deptno = 20
GROUP BY deptno;

9、列出从事“SALES”(销售)工作的雇员的姓名,假定不知道销售部的部门编号。
SELECT ename AS 雇员姓名
FROM emp
WHERE deptno = (
SELECT deptno
FROM dept
WHERE dname = 'SALES'
);

10、列出薪金高于公司平均水平的所有雇员
SELECT *
FROM emp
WHERE sal > (
SELECT AVG(sal)
FROM emp
);

11.查询与“SCOTT”在同一个部门的员工
SELECT *
FROM emp
WHERE deptno = (
SELECT deptno
FROM emp
WHERE ename = 'SCOTT'
);

12.查找不在销售部 (SALES) 和财务部 (ACCOUNTING) 工作的雇员编号、姓名和部门编号。
SELECT empno, ename, deptno
FROM emp
WHERE deptno NOT IN (
SELECT deptno
FROM dept
WHERE dname = 'ACCOUNTING'
OR dname = 'SALES'
);

13.在 EMP 表中,找出每个超过他所在部门平均工资的员工编号,员工名称,薪水和部门编号。
SELECT empno, ename, sal, e2.deptno
FROM emp e1, (
SELECT deptno, AVG(sal) AS avgsal
FROM emp
GROUP BY deptno
) e2
WHERE e1.deptno = e2.deptno
AND sal > avgsal;

14、列出某些雇员的姓名和薪金,条件是他们的薪金等于部门 30 中任何一个雇员的薪金。
SELECT ename, sal
FROM emp
WHERE sal = ANY (
SELECT sal
FROM emp
WHERE deptno = 30
);
SELECT ename, sal
FROM emp
WHERE sal IN (
SELECT sal
FROM emp
WHERE deptno = 30
);

15、列出各个部门 MANAGER(经理)的最低薪金
SELECT deptno, MIN(sal)
FROM emp
WHERE job = 'MANAGER'
GROUP BY deptno;

Oracle 子查询和组函数练习的更多相关文章
- oracle 子查询和组合函数
oracle 子查询和组合函数 --查询与"SCOTT"在同一个部门的员工 select empno,ename,deptno from emp where deptno in ( ...
- 【软件实施面试】MySQL和Oracle联合查询以及聚合函数面试总结
软件实施面试系列文章第二弹,MySQL和Oracle联合查询以及聚合函数的面试总结.放眼望去全是MySQL,就不能来点Oracle吗?之前面过不少公司,也做过不少笔试题,现在已经很少做笔试题了.你肚子 ...
- Oracle子查询相关内容(包含TOP-N查询和分页查询)
本节介绍Oracle子查询的相关内容: 实例用到的数据为oracle中scott用户下的emp员工表,dept部门表,数据如下: 一.子查询 1.概念:嵌入在一个查询中的另一个查询语句,也就是说一个查 ...
- 一道Oracle子查询小练习
一道Oracle子查询小练习 昨天晚上躺在床上看Oracle(最近在学习这个),室友说出个题目让我试试.题目如下: 有如下表结构,请选择出成绩为前三名的人的信息(如果成绩相同,则算并列),表名为t ...
- 2.2 Oracle之DML的SQL语句之多表查询以及组函数
一.SQL的多表查询: 1.左连接和右连接(不重要一方加(+)) SELECT e.empno,e.ename,d.deptno,d.dname,d.loc FROM emp e,dept d WHE ...
- 【2017-03-12】SQL Sever 子查询、聚合函数
一.子查询 子查询:把一条查询语句,当做值来使用子句的查询结果必须是一列子句可以返回多行数据,但必须是一列 子句返回的值为一个值的时候: 例如: 我只知道c026这个编号,我要查询比这个车价格低的全部 ...
- Oracle子查询之简单子查询
Oracle 简单子查询 顾名思义,简单子查询是嵌套在 SQL 语句中的另一个SELECT 语句,并且子查询只返回一列数据 1,单行子查询: 子查询 (内查询) 在主查询之前一次执行完成.子查询的结果 ...
- Oracle 子查询
1.子查询在SELECT.UPDATE.DELETE语句内部可以出现SELECT语句.内部的SELECT语句结果可以作为外部语句中条件子句的一部分,也可以作为外部查询的临时表.子查询的类型有: ① 单 ...
- oracle 子查询因子化 浅谈(with的使用)
近来学习oracle,想要提高自己所写语句的效率和易读性,今天的笔记是关于子查询因子话这么一个东西 因子化的查询不一定可以提高效率,但是一定可以再提高程序的可读性方面成效显著 --with 语句 wi ...
随机推荐
- UVA-10791 数学
UVA-10791 题意: 输入n (1<=n<2^31) 求至少两个正整数使得他们的lcm等于n并且他们的和最小,输出最小和 代码: // a*b=lcm*gcd => a=lcm ...
- Redis安装部署【转】
Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(diff ...
- JAVA多线程提高十一:同步工具Exchanger
Exchanger可以在对中对元素进行配对和交换的线程的同步点.每个线程将条目上的某个方法呈现给 exchange 方法,与伙伴线程进行匹配,并且在返回时接收其伙伴的对象.Exchanger 可能被视 ...
- 【BZOJ】2120: 数颜色 带修改的莫队算法
[题意]给定n个数字,m次操作,每次询问区间不同数字的个数,或修改某个位置的数字.n,m<=10^4,ai<=10^6. [算法]带修改的莫队算法 [题解]对于询问(x,y,t),其中t是 ...
- 判断是否引入jquery
主要使用typeof检验 <script language="javascript"> if(typeof jQuery == 'undefined'){ window ...
- final关键字详解
java中,final关键字可以用来修饰类.方法和变量(包括成员变量和局部变量).下面就从这三个方面来了解一下final关键字的基本用法. 1.修饰类 当用final修饰一个类时,表明这个类不能被继承 ...
- 51Nod - 1127 最短的包含字符串
给出一个字符串,求该字符串的一个子串s,s包含A-Z中的全部字母,并且s是所有符合条件的子串中最短的,输出s的长度.如果给出的字符串中并不包括A-Z中的全部字母,则输出No Solution. Inp ...
- 爬虫--Scrapy框架的基本使用
流程框架 安装Scrapy: (1)在pycharm里直接就可以进行安装Scrapy (2)若在conda里安装scrapy,需要进入cmd里输入指令conda install scrapy ...
- Django之Form组件验证
今天来谈谈Django的Form组件操作 Django中的Form一般有两种功能: ·输入html ·验证用户输入 Form验证流程 ·定义规则(是一个类) ·前端把数据提交过来 ·匹配规则 · ...
- jsoup抓取网页报错UnsupportedMimeTypeException
今天在用Jsoup爬虫的时候两次遇到下面错误 Exception in thread "main" org.jsoup.UnsupportedMimeTypeException: ...