SqlServer综合项目需求(School)
发布日期:2021-05-07 10:54:52 浏览次数:49 分类:精选文章

本文共 5540 字,大约阅读时间需要 18 分钟。

文章目录


提示:以下是本篇文章正文内容,下面案例可供参考

在这里插入图片描述

--5、查询单表--(1)统计所有班级的平均综合成绩、最高综合成绩和最低综合成绩之差select * from Scoreselect s2.class_id 班级, avg(result) 平均综合成绩,MAX(result) 最高综合成绩,min(result) 最低综合成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id--(2)不采用avg()计算所有班级的平均综合成绩select s2.class_id 班级id,(result)/count(*) 平均综合成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id--(3)统计电商二班学生个数和总综合成绩select count(*) 学生个数,sum(result) 总综合成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id having class_id=2--(5)按班级id分组统计学生数量和平均项目成绩,并按平均项目成绩升序显示select count(*) 学生数量,avg(project) 平均项目成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id order by avg(project) desc--(6)统计每个班级的人数,并按人数升序显示班级id,班级人数select s2.class_id 班级id,count(*) 班级人数 from Score s join Student s2 on s.stu_id=s2.id group by class_id order by count(*)--(7)查询每个地址的人数select [address] 地址,count(*) 人数 from Student group by [address]--(8)统计每个班级的姓张同学的平时成绩最高分select s.daily 平时成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id,s2.name having s2.name like '张%' order by s.daily desc--(9)按照班级id和地址分组统计人数和平均综合成绩,并按平均综合成绩升序显示select s2.class_id 班级id,[address] 地址,count(*) 人数,AVG(result) 平均综合成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id,[address] order by AVG(result)-- (10)根据地址分组统计人数和平均综合成绩,并按平均综合成绩升序显示平均综合成绩高于85的信息select [address] 地址,count(*) 人数,AVG(result) 平均综合成绩  from Score s join Student s2 on s.stu_id=s2.id group by [address] having AVG(result)>85 order by AVG(result) --(11)根据班级id分组统计最高平时成绩,昆明区域的同学不在统计范围内,并按最高平时成绩降序显示最高平时成绩高于80的信息select s2.class_id 班级id,max(daily) 最高平时成绩 from Score s join Student s2 on s.stu_id=s2.id group by class_id,[address] having [address]<> '云南省昆明市'and max(daily)>80  order by max(daily) desc --(12) 统计班级人数大于4的班级id和班级人数,并按人数降序显示select s2.class_id 班级id,count(*) 班级人数 from Score s join Student s2 on s.stu_id=s2.id group by class_id having count(*)>4 order by count(*) desc --6、查询多表--(1)查询自己的信息,显示学号,姓名,性别,电话,地址,出生日期,民族,家长电话1,家长电话2select [no] 学号,name 姓名,sex 性别,phone 电话,[address] 地址,birthdady 出生日期,   nation 民族,parent_phone_1 家长电话1,parent_phone_2 家长电话2 from Student where id=1--(2)查询自己和所在班级的信息,显示班级,学号,姓名,性别,电话,地址,出生日期,民族,家长电话1,家长电话2  select c.name 班级, no 学号,s.name 姓名,sex 性别,phone 电话,address 地址,birthdady 出生日期,   nation 民族,parent_phone_1 家长电话1,parent_phone_2 家长电话2 from Student s join Class c on s.class_id=c.id where s.id=1--(3)查询所有老师的带班信息,显示,老师姓名,班级,班级人数 select t.name 老师姓名,c.name 班级,count(s.class_id) 班级人数 from Student s,Teacher t,Class c where    t.teacher_id=c.teacher_id and c.id=s.class_id group by t.name,c.name--(4)查询班级信息,显示班级名称、老师姓名、班主任姓名,班级人数select c.name 班级,t2.name 老师姓名,t.name 班主任姓名,count(s.class_id) 班级人数  from Teacher t join Class c on t.teacher_id=c.class_teacher_id join Teacher t2 on t2.teacher_id=c.teacher_id  join Student s on c.id=s.class_id group by c.name,t.name,t2.name--(5)查询我们班的成绩信息,要求显示,姓名,卷面成绩,项目成绩,平时成绩,综合成绩,按综合成绩降序排序select name 姓名,exam 卷面成绩,project  项目成绩,daily 平时成绩,result 综合成绩 from Score s join Student s2 on s.stu_id=s2.id where s2.class_id=1 order by result desc--(6)查询每个老师带了多少学生,显示老师姓名,学生数select t.name 讲师姓名,count(*) 学生数 from Student s left join Class c on  c.id=s.class_id left join Teacher t on c.teacher_id=t.teacher_id group by   t.name--(7)查询各班H5卷面成绩,显示班级、平均分,最高分,最低分select c.name 班级, avg(exam) 平均分,max(exam) 最高分,min(exam) 最低分 from class c ,Score s,student s1,Subject s2 where   c.id=s1.class_id and s1.id=s.sub_id and s2.id=s.sub_id and s2.name='HTML' group by c.name,s2.name--(8)查询你自己各科成绩,显示,姓名、卷面成绩,项目成绩,平时成绩,综合成绩select s.name 姓名,exam 卷面成绩,project  项目成绩,daily 平时成绩,result 综合成绩 from Student s,Score s1 where s.id=stu_id    group by s.name,exam,project,daily ,result having s.name='杨有山'--(9)查询各地州的学生人数,显示,地址州,学生人数,按人数排序select address 地址,count(*) 学生人数 from Student group by address  order by count(*) desc --(10)查询自己所有成绩的平均分,显示姓名 卷面成绩,项目成绩,平时成绩,综合成绩select Student.name 姓名,avg(exam) 卷面成绩,avg(project)  项目成绩,avg(daily) 平时成绩,avg(result) 综合成绩 from Student join Score on Student.id=stu_id   group by Student.name having Student.name='杨有山'--(11)查询各地州的学生平均成绩,显示,地址州,学生人数,平均卷面成绩,平均项目成绩,平均平时成绩,平均综合成绩,按综合成绩排序从高到低排序select address 地址,count(*) 学生人数,avg(exam) 卷面成绩,avg(project)  项目成绩,avg(daily) 平时成绩,avg(result) 综合成绩 from student s join Score s1 on   s.id=s1.stu_id group by address order by 综合成绩 desc--(12)查询所有学生的成绩信息,显示,学生姓名,班级,老师,班主任,课程名,卷面成绩,项目成绩,平时成绩,综合成绩,按卷面成绩排序从高到低排序select s.name 学生姓名,c.name 班级,t2.name 老师,t.name 班主任 ,s2.name 课程名称,exam 卷面成绩,project  项目成绩,daily 平时成绩,   result 综合成绩 from Teacher t join Class c on t.teacher_id=c.class_teacher_id join Teacher t2 on t2.teacher_id=c.teacher_id  join Student s on c.id=s.class_id  join Score s1 on    s.id=s1.stu_id  join Subject s2 on s2.id=s1.sub_id group by c.name,t.name,t2.name,s.name,s2.name,exam,project,daily,result order by exam desc--(13)查询各班级各科目的平均分,显示班级,科目,卷面成绩,项目成绩,平时成绩,综合成绩,选择合适的排序字段和排序方式  select c.name 班级,s2.name 科目,exam 卷面成绩,project  项目成绩,daily 平时成绩,result 综合成绩 from Class c  left join Student s on c.id=s.class_id left join Score s1 on s.id=s1.stu_id left join Subject s2 on    s2.id=s1.sub_id group by c.name,s.name,s2.name,exam,project,daily,result order by 卷面成绩 desc--(14)查询各老师各班各科目的平均分,显示老师,班级,科目,卷面成绩,项目成绩,平时成绩,综合成绩, 选择合适的排序字段和排序方式  select t.name 讲师,c.name 班级,s2.name 科目,exam 卷面成绩,project  项目成绩,daily 平时成绩,result 综合成绩 from Class c left join Teacher t on   t.teacher_id=c.teacher_id left join Student s on c.id=s.class_id left join Score s1 on s.id=s1.stu_id left join Subject s2 on    s2.id=s1.sub_id group by t.name,c.name,s.name,s2.name,exam,project,daily,result,t.id order by 卷面成绩 desc
上一篇:编写zookeeper的init.d启动脚本
下一篇:pycharm左侧工程显示栏只剩新打开的project,找不到之前工程解决方法

发表评论

最新留言

感谢大佬
[***.8.128.20]2025年03月27日 12时06分43秒