Oracle 笔记(3) Scott用户 查询 分组 子查询

--group by对查询后的记录进行分组

--求每个部门的平均薪水

select  deptno,avg(sal) as avg_sal from emp group by deptno

 

--常见的五种组函数

MAX()求最大值

MIN()求最小值

AVG()求平均值

SUM()求和

COUNT()求总共多少条记录

--求员工的最大工资   

select max(sal) from emp

--求10号部门一共有多少个员工

select count(*) from emp where deptno=10

 

--having对分组以后的数据进行再过滤

--按照部门编号进行分组,分组之后求每一个部门的平均薪水,要求显示平均薪水大于2000的部门的部门编号和平均薪水

select deptno,avg(sal) from emp group by deptno having avg(sal)>2000

 

 

--Sql查询语句总结(共五行)

select * from emp

where 条件

group by 分组条件

having  对分组进行过滤

order by 排序条件

 

--子查询(也叫嵌套查询)

查多次,多个select嵌套出现,第一次的查询结果可以作为第二次的查询条件 或 表名

--需求1:求最大工资那个人的姓名和薪水

第一步:求最大工资 select max(sal) from emp

第二步:求最大工资那个人叫什么

select ename,sal from emp where sal=5000

第三步 合并

select ename,sal from emp where sal=(select max(sal) from emp);

--需求2:哪些人得工资位于 所有人得平均工资之上

1.求平均工资 select avg(sal) from emp

2. 工资大于平均工资的 人的姓名、工资

select ename,sal from emp where sal>2073.21428571429

3.合并

select ename,sal from emp where sal>(select avg(sal) from emp)

 

猜你喜欢

转载自blog.csdn.net/qq_40899182/article/details/81671301
今日推荐