oracle几个常用的函数sum(),avg(),min(),count()

本文介绍了SQL中的基本聚合函数,如SUM、AVG、MAX等,并通过实例演示了如何运用这些函数解决实际问题,包括求和、平均值、最大最小值及复杂查询等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sum()求和函数。 
Avg()求平均值函数。 
Max()求最大值函数。 
Min()求最小值函数。 
Count()汇总函数。 
1.求所有员工的年龄总和。 
Select sum(年龄) from 表名 
 
2.求女同志的平均年龄。 
select avg(年龄) from表名 where 性别='' 
 
3.求所用员工的平均工资。 
平均工资=工资总和/人数 
Select sum(工资)/count*from 表名 
*可以用工资代替。 
 
4.求工资最小值。 
Select min(工资)from表名 
 
5.求工资最少的员工信息。 
Select * from 表名 where 工资=select min(工资) from 表名) 
 
6.求每个部门的平均工资。 
分组:group by 
Select 部门,avg(工资)from 表名 group by 部门 
 
7.求男女员工的人数。 
Select 性别,count*from 表名 group by 性别 
 
8.求每个部门的平均工资。 
Select 部门,avg(工资)as 部门平均工资 from 表名 group by 部门 
 
9.显示部门平均工资在4000元以上的部门名称。 
Select 部门,avg(工资)as 部门平均工资 from 表名 
Group by 部门 where avg(工资)>4000—这条命令错误。 
--是表示注释。 
SQL中规定:对group by 的结果进行过滤时不允许使用where,只能是having 
如:Select 部门,avg(工资)as 部门平均工资 from表名 Group by 部门 having avg(工资)>4000 
 
10.在校期间参加三次考试,规定连接三次都在90分以上,为优秀生。请找出所有优秀生。 
在这个实验需创建一个表,先创建表stu 
 
语法为:select 姓名 from 表名 成绩>=90 group by 姓名 having count*=3.
 
 
联合:union:创建表nan和表nv. 
 
Select * from 1 union select * from 2 
注意: 
1.     每个select 语句字段名必须一致。 
2.     如果字段名不同,则以第一个select语句为准。 
Select * from nan union select,姓名,性别,年龄 from  nv 
重复记录值显示一条。 
 
例1.       统计nannv以及yuangong表中男女同志的人数。 
语法为:select 性别,count(*) from  (select * from nan union select * from nv union select 姓名,性别,年龄 from yuangong)as ls group by 性别。 
 
2.对三个表的年龄按照升序进行排列。 
select * from (select * from nan union  select * from nv union  select 姓名,性别年龄from yuangong)  as age order by  年龄 asc 
 
自连接:一个表的自我连接  
创建一个表home,类型的、找出父子对应关系 
 
语法为:select homea.姓名 as 儿子,homeb.姓名 as 父亲 from 
home as homea,home as homeb where homea.id=homeb.id 
 
3.显示出工资高于本部门平均工资的员工信息。 
创建一个类型为p的表。 
 
语法为:select * from p ,(select 部门,avg(工资) as 平均工资 from p group by 部门)as ls where 工资>平均工资 and p.部门=ls.部门 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值