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.部门
Select有关的语句以完成。