Sum ()求和函数。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

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. 部门

Select 有关的语句以完成。