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

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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如下:
结果如下:
另外有⼏科⽬成绩没有加进来,所以总分有些加了不够。

差不多就是这样了。

相关文档
最新文档