sql查询

来源:互联网 发布:面试java项目技术难点 编辑:程序博客网 时间:2024/06/01 16:20

下面有三张表,请按照要求用sql语句实现结果查询

(1)查询每个班级各科成绩总和

(2)查询每个班级语文成绩大于85分人数

(3)查询语文成绩大于数学成绩的姓名和归属班级

                 班级信息表(class_info)                                                               成绩表(grade_info)                                                            课程表(schedule)

                                           


(1)查询各个班级各科成绩总和

select class_no,name,subject_name,score from class_info,grade_info,schedule 
where class_info.st_no = grade_info.st_no and schedule.subject_no = grade_info.subject_no;

查询结果:



(2)查询每个班级成绩大于85分人数

SELECT class_no,NAME,subject_name,SUM(score) AS ‘总分’  
FROM class_info,grade_info,SCHEDULE WHERE class_info.st_no = grade_info.st_no AND 
schedule.subject_no = grade_info.subject_no GROUP BY class_no,subject_name;

查询结果:



(3)查询语文成绩大于数学成绩的姓名和归属班级

SELECT class_no,subject_no,IFNULL(SUM(CASE WHEN score > 85 THEN 1 END),0) AS '中文成绩大于85的人数' 
FROM class_info,grade_info WHERE class_info.st_no=grade_info.st_no AND subject_no = '3' GROUP BY class_no;

查询结果: