mysql语句练习问题。查询每个学生的平均分的sql语句

数据库中有5个表student、class、school、course、my_course
表的结构如下:student(student_id、student_name、sex、mobile、score、class_id、school_id、creat_date)分别表示 学号、姓名、性别、电话、成绩、班级编号、学校编号、编写日期
class(class_id、class_name、school_id)分别表示 班级编号、班级名称、学校编号
school(school_id、school_name)分别表示 学校编号、学校名称
course(course_id、course_name)分别表示 课程编号、课程名称
my_course(my_course_id、course_id、student_id)分别表示 我的课程编号、课程编号、学生学号
现在要操作如下:
1.查询各个班级的学生都有多少人
2.查询学生的平均成绩,最高分,最低分
3.所有学生的成绩在原来基础上加5分
4.学生进行选课,没选一门课,成绩加10分

在线等 如果答出来,本人一定重赏

select a.studentId,a.name,a.sex,c.cid,b.cname,c.score
into TableA
from Student a, Course b, Grade c
where a.studentId=c.studentId and c.cid=b.cid

select a.studentId,a.name,a.sex,
sum(case cname when "语文" then score else 0 end) as 语文,
sum(case cname when "数学" then score else 0 end) as 数学,
sum(case cname when "英语" then score else 0 end) as 英语,
sum(case cname when "哲学" then score else 0 end) as 哲学,
sum(score)*1.0/4 as "平均成绩"
from TableA
group by name
温馨提示:答案为网友推荐,仅供参考
相似回答