oiu1010110 于 2016.04.13 22:31 提问

sql 查询每门课程成绩最高的女同学

course(cname,ccredit,cno)
student(sno,ssex,sage,sdept)

1、检索数据库的成绩在90分以上的学生的学号和姓名
--(有问题)
select student.sno,student.sname from student
where sno in (select sno from sc where
grade in(select grade from sc where grade >= 90 and cno in(select cno from course where sname = '数据结构'))
); //什么也没输出
2、查询数据结构课程成绩最高的学生的姓名
select sname,grade from student,course,sc where student.sno = sc.sno and sc.cno = course.cno and
cname = '数据结构' and grade>=all(select grade from sc where cname = '数据结构'); //什么也没输出

``````select sname from student where sno in(select sno from sc
where grade>=all(select grade from sc where cno in(select cno from course where cname = '数据结构'))
and cno in(select cno from course where cname = '数据结构')
);  //对的
``````

3、查询每个系的最高成绩
select student.sno,sdept,max(grade) from student,sc where student.sno = sc.sno group by student.sno,sdept having grade >=all(select grade from sc); //HAVING 子句中的列 'sc.grade' 无效，因为该列没有包含在聚合函数或 GROUP BY 子句中

4、检索数据库的成绩在90分以上的学生的学号和姓名
select student.sno,student.sname from student
where sno in (select sno from sc where
grade in(select grade from sc where grade >= 90 and cno in(select cno from course where sname = '数据结构'))
); //有问题，什么也没输出
select student.sno,student.sname from sc,student,course where sc.cno = course.cno and student.sno = sc.sno and course.cname = '数据结构' and sc.grade >=90; //对的

6、查询每个系的最高成绩
select student.sno,sdept,max(grade) from student,sc where student.sno = sc.sno group by student.sno,sdept having grade >=all(select grade from sc);//有问题，什么也没输出

7、查询每门课程成绩最高的女同学
select sc.sno,cno,max(grade) from sc,student where sc.sno = student.sno and ssex = '女' group by sc.sno,cno having grade >=all(select grade from sc group by sc.sno,cno); //有问题
select sc.sno,cno,max(grade) from sc,student where sc.sno = student.sno and ssex = '女'and grade >=all(select grade from sc group by cno); //有问题

2个回答

CSDNXIAON   2016.04.13 22:42

sql查询每个班上成绩最高的学生信息
sql获取每门课程成绩最好的学生信息
----------------------同志你好，我是CSDN问答机器人小N，奉组织之命为你提供参考答案，编程尚未成功，同志仍需努力！

devmiao      2016.04.14 04:52

sql获取每门课程成绩最好的学生信息
1.相关数据表 Score表 [User]表 SQL语句如下： --查询出各科成绩最好的学生信息 --自连接 --SELECT TOP 1 * FROM Score B WHERE B.ScoreName = '数学' ORDER BY B.Score DESC SELECT A.ID,U.Name,A.ScoreName,A.Score FROM Score A,[Use
sql语句查询各门课程平均分的最大值
sql查询。order by等用法
sql分组例子：查询某门课是最高成绩的记录

SQL查询每门课程最高分及人数
--先得到相同学科的最高分数,再查询stud表,找到最高分数的记录 select  course,sudResult,COUNT(course)stuCount  from ( select * from stud a where sudResult=(select max(sudResult) from stud where course=a.course) )b group by
sql查询成绩表中每一科成绩最高的分数以及这个学生的名字，学科名，面试的时候碰到的问题
前段时间面试的时候碰到这样一个面试题，因为很久没接触sql竟然没写出来。如图有这样一张成绩表：首先要理解group by 含义：“Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组，所谓的分组就是将一个“数据集”划分成若干个“小区域”，然后针对若干个“小区域”进行数据处理。先来看这样一条sql语句：select  subject,max(score) from grad...

<br />有以下两张表，<br />Class表 <br />classid classname<br />1 高三（一）班<br />2 高三（二）班<br />3 高三（三）班<br />Student表<br />studentid   studentName classid<br />1    张三            2<br />2     李四           1<br />3    王五             1<br />4    赵六             3<br />5
Sql -- 练习1 查询每科成绩前两名的学生信息

name kecheng fenshu 张三 语文 81 张三 数学 75 李四 语文 76 李四 数学 90 王五 语文 81 王五 数学 100 王五