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. 统计nan,nv以及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.部门
oracle几个常用的函数sum(),avg(),min(),count()
最新推荐文章于 2024-05-27 01:18:31 发布