SQL2查询select嵌套计算分组.doc
文本预览下载声明
嵌套查询
查询哪些学生选修了课程(即查询选了课学生信息)
Select * from 学生 where 学号 in(select 学号 from 选课 )
查询哪些学生没有选课
Select * from 学生 where 学号 not in (select 学号 from 选课)
查询课程表中哪些课程被学生选修了
Select * from 课程 where 课程号 in (select 课程号 from 选课)
查询哪些课程没有被学生选修
Select * from 课程 where 课程号 not in (select 课程号 from 选课 )
计算与分组查询
Min()
Max()
Sum():求和 只能对数值型字段求和
Avg():平均值 只能对数值型字段求均值
Count():计数 对字段的类型没有要求
计算所有学生的人数
Select count(*) from 学生
计算查询选修了课程的学生人数
Select count(distinct 学号) 选课人数 from 选课
计算查询所有学生的总成绩
Select sum(成绩) from 选课
计算查询所有学生的平均成绩
Select avg(成绩) from 选课
计算查询所有学生的最高成绩
Select max(成绩) from 选课
计算查询所有学生的最低成绩
Select min(成绩) from 选课
查询每个学生的学号及平均成绩 (分组计算 求平均值)
Select 学号,avg(成绩) 平均成绩 from 选课 group by 学号
查询每个学生的学号,选课门数 (分组计算 计数)
Select 学号,count(课程号) 选课门数 from 选课 group by 学号
10.查询选修了4门课以上学生的学号,选课门数 (分组条件计算)
Select 学号,count(课程号) 选课门数 from 选课 group by 学号 having count(课程号)4
查询每个学生的学号,姓名,选课门数 (两表分组计算 计数)
Select 学生.学号,姓名,count(课程号) 选课门数 from 学生,选课 where学生.学号=选课.学号 group by 学生.学号
11.查询选修了4门课以上(包含)且成绩=65的学生学号,选课门数 (原始条件及分组条件计算)
Select 学号,count(课程号) 选课门数 from 选课 where成绩=65 group by 学号 having count(课程号)=4
12.查询选了4门课以上(含)且平均成绩在70分以上学生的学号,选课门数,平均成绩 (多个分组条件计算)
Select 学号,count(课程号) 选课门数,avg(成绩) 平均成绩 from 选课 group by 学号 having count(课程号) 4 and avg(成绩)=70
SQL的查询功能练习:上机题:10、14、18、28、38
显示全部