sqlserver查询各系各科成绩最高分的学生的学号,姓名

2021-07-13 09:11:54 字数 3383 阅读 5978

1楼:sql的艺术

select

a.sno学号,a.sname姓名,a.sdept系名,c.cname课程名称,b.maxgrade成绩

from

studenta

innerjoin(selectcno,max(sno)sno,max(grade)maxgradefromscgroupbycno)bona.sno=b.sno

innerjoincourseconb.con=c.cno

2楼:匿名用户

selectstudent.sno,student.sname,student.sdept,

course.cname,t.maxgradefrom

student,course,

(selects.sno,c.sdept,s.cno,c.maxgrade

fromscs,studentst,

(selecta.sdept,b.cno,max(b.grade)asmaxgrade

fromstudenta,scbwherea.sno=b.sno

groupbya.sdept,b.cno)c

wheres.sno=st.snoandst.sdept=c.sdeptand

s.grade=c.maxgrade)twherestudent.sno=t.sno

andcourse.cno=t.cnoorderbycourse.cname,student.sdept;

上述语句已经测试通过。**思路是:

学生表与成绩表基于学号进行连接获取每个学号所在系名,然后用院系和课程号对成绩表分组汇总,求得每个院系、每个课程的最高得分(结果集c,含系名、课程号和最高分)。然后用结果集c再次与成绩表、学生表进行比对,筛选出获得每个系、每个课程的最高分的学号并包含课程号和系名(结果集t)。最后t通过连接获取学生表中的学生姓名、课程表中的课程名完成最后输出。

3楼:me孤魂

因为不知道3个表的具体结果只能推测3个表的关联情况学生表student 的学号sno 和成绩表sc 的学号sno关联课程表course的课程cno和成绩表sc 的课程cno关联首先获得sc表中每门课程的最高成绩,然后跟sc关联获得其他信息,在分别去学生表,课程表关联,获得具体的信息

语句如下

select a.sno,c.sname,c.

sdept,d.cno,b.grade from sc a,(select cno,max(grade) grade from sc group by cno) b,student c,coursed d

where a.cno=b.grade

and a.sno=c.sno

and a.cno=d.cno

sql sever 2008r2查询各系各科成绩最高分的学生的学号,姓名,系名,课程名称,成绩

4楼:sql的艺术

select

a.sno学号,a.sname姓名,a.sdept系名,c.cname课程名称,b.maxgrade成绩

from

studenta

innerjoin(selectcno,max(sno)sno,max(grade)maxgradefromscgroupbycno)bona.sno=b.sno

innerjoincourseconb.con=c.cno

5楼:匿名用户

selectstudent.sno,student.sname,student.sdept,

course.cname,t.maxgradefrom

student,course,

(selects.sno,c.sdept,s.cno,c.maxgrade

fromscs,studentst,

(selecta.sdept,b.cno,max(b.grade)asmaxgrade

fromstudenta,scbwherea.sno=b.sno

groupbya.sdept,b.cno)c

wheres.sno=st.snoandst.sdept=c.sdeptand

s.grade=c.maxgrade)twherestudent.sno=t.sno

andcourse.cno=t.cnoorderbycourse.cname,student.sdept;

上述语句已经测试通过。**思路是:

学生表与成绩表基于学号进行连接获取每个学号所在系名,然后用院系和课程号对成绩表分组汇总,求得每个院系、每个课程的最高得分(结果集c,含系名、课程号和最高分)。然后用结果集c再次与成绩表、学生表进行比对,筛选出获得每个系、每个课程的最高分的学号并包含课程号和系名(结果集t)。最后t通过连接获取学生表中的学生姓名、课程表中的课程名完成最后输出。

6楼:匿名用户

好的,这个涉及到分组排序子查询等

用sql命令创建一个名为“v单科最高分”的视图,用于查询每门课程的最高分的学生学号、姓名、课程号、成绩 5

7楼:匿名用户

首先要复找出最高课程的分数,制然后再根据分数,找出最高的学号。楼上的两位,语法错误。

create view v单科最高分 as

select a.学号, b.姓名, a.课程号, c.课程名, a.成绩

(select a.* from xs_kc a, (select 课程号, max(成绩) 成绩 from xs_kc group by 课程号) b

where a.课程号 = b.课程号 and a.成绩=b.成绩) a, xsqk b, kc c

where a.学号 = b.学号 and b.课程号 = c.课程号

8楼:匿名用户

create view 'v单科最高du

分'as

select b.学号

zhidao,b.姓名,a.课程号,a.成绩专from (select 学号,课程号,max(成绩) as 成绩,学分属 from xs_kc group by 课程号) a,

xsqk b

where a.学号=b.学号

9楼:匿名用户

create view v单科最高分

asbegin

select xs_kc.学号,xsqk.姓名,xs_kc.课程号,max(xs_kc.成绩

版权) as 成绩

from xs_kc on xs_kc.学号 = xsqk.学号group by xs_kc.课程号end

SQL查询没有选修1号课程的学生姓名

1楼 匿名用户 select sname from student where not exists select from sc where student sno sc sno and o 1 2楼 匿名用户 select 姓名 sname from student where not exis...

海南大学教务系统初始密码是什么,海南大学教务处学生成绩查询系统的初始用户名和密码是什么? 10

1楼 匿名用户 没有初始密码的,忘了密码要去教务处问一下 海南大学教务处学生成绩查询系统的初始用户名和密码是什么? 10 2楼 泰山体育场 学生用户的用户名是学号,密码是123 3楼 匿名用户 用户名就是你的学号 要你没改密码的话原始密码是123 海南大学教务管理系统登录用户名是什么 4楼 匿名用户...