Sql语句之查询所有学生所有科目分数及总分

王朝学院·作者佚名  2016-05-25
窄屏简体版  字體: 小  |  中  |  大  |  超大  

Sql语句之查询所有学生所有科目分数及总分 昨天练Sql语句,数据库建了四个表分别是,学生表,课程表,成绩表以及教师表(教师表不在讨论范围),突然想到以前高中时代老师手上的那张成绩表,然后我就寻思着能不能用Sql语句把表打印出来,以下是我的思考过程:

话不多说,先上三张表的图

如下图1.1学生表(Student表)

S#-学号 Sname-姓名 Sage-年龄 Ssex-性别

图1.1 Student表

如下图1.2课程表(Course表)

C#-课程号 Cname-课程名 T#-教师号

图1.2课程表 Course表

如下图1.3成绩表(CS表)

S#-学生号 C#-课程号 score-成绩

图 1.3课程表Course表

首先,我初步查询了所有人所有科目成绩

Sql语句如下:

查询结果如下:

成绩是打印出来了,可是有点不好看,重复的数据太多了,于是继续寻思精简一点的。

如果要精简,那么学科就不能是Cname了,而是将一个个学科打出来,就像成绩单,各科成绩名和列名在同一列,于是乎我想到了case then else end

sql语句如下:

然而结果并没有Group by,结果如下:

想来想去我就用表的联结join,然后成功了。

sql语句如下:

结果如下:

哦!忘记排名了:

重写sql如下:

结果如下:

另外有几科目成绩没有加进来,所以总分有些加了不够。

差不多就是这样了。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航