数据库查询每门课的前两名学号、课程号、成绩

wxt613 2013-10-20 12:07:27
有个课程表,里面有S#(学号)、C#(课程号)、score(成绩)三个字段,现在要选出每门课的前两名,在网上搜到了下面的sql语句,一直看不明白,不知道内外链接的使用,请朋友赐教,说下sql 执行的过程,谢谢!
select sc1.s#,sc1.c#,sc1.score from score sc1 where score in
(select top 2 sc2.score from score sc2
where sc2.C# = sc1.C# order by sc2.score desc)
order by sc1.C# , sc1.score desc
...全文
679 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2013-10-20
  • 打赏
  • 举报
回复
建议先写出自己的理解,把自己理解的执行步骤写一下,然后大家可以补充。
一、建立以下五个表: 教师表:Teacher,学生表:Student, 表:Course,选表:SC,授表:TC 二、完成以下查询: 1.查询成绩在80-90之间的记录。 2.查询至少4个同学选修的名。 3.查询其他系中比“信息系”所有学生年龄都大的学生名单及年龄,并按年龄降序输出: 4.查询与学生张建国同岁的所有学生的。姓名和系别。 5.查询选修了2门以上的学生名单。 6.查询至少有一门与“张建国”选相同的学生的姓名,,系别 7.查询成绩比该平均成绩高的学生的成绩表。 8.查询选为01001成绩高于01002学生的姓名,此两门名和成绩。 9.查询所有没选修01001的学生名单 10、查询每个同学各门的平均成绩和最高成绩,按降序输出姓名、平均成绩、最高成绩; 11、查询所有学生都选修了的名; 12、查询选修了991102学生选修了的的学生和姓名。 三、使用SQL创建视图,修改记录 1.创建成绩视图SCORE_VIEW,包含sno,姓名sn,名cn,成绩score; 2.创建一个计算机系学生名单视图S_VIEW,包含sno,姓名sn,性别sex; 3.通过上面的视图,修改为991102,01001的成绩记录; 4,创建一个视图,计算机系学生的成绩单score_view_CDEPT,包含sno,姓名sn,名cn,成绩score

2,209

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧