查询所有课程成绩在90分以上(包括90分)的学生的学号、姓名。

select student.name,student.st_number
from student,sle_course
where student.st_number=sle_course.st_number and score>=90
怎么查询所有成绩,求大神

这是我做的实验,思路是,只要过滤掉那些成绩表中成绩为空的学生、有成绩小于90分的学生,剩下的就是成绩都大于等于90分的学生:
SELECT SNAME, STU.SNO
FROM STUDENT STU
WHERE NOT EXISTS (SELECT SNO
FROM SCORE SC
WHERE SC.SNO = STU.SNO
AND (SC.GRADE < 90 OR SC.GRADE IS NULL));
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-22

这道题可以这样理解,即学生的最低成绩大于90,所以代码可以写为:

select Sno,Sname from SC group by Sno having min(Grade)>90;

本回答被网友采纳
第2个回答  2016-06-05
  成绩一般会在考试结束后13左右公布,

  各地的时间会有所差别,

  具体信息多关注本地的教育信息网和学校的通知!
第3个回答  2016-05-28
select a.name,a.st_number from student as a

inner join sle_course as b on(a.st_number=b.st_number)

where b.score>=90追问

所有成绩都需要大于等于90,该怎么弄?

追答

这个就可以啊

本回答被网友采纳
第4个回答  2018-06-01
select student.sno ,sname from student ,sc where student.sno =sc .sno and student.sno not in (select sno from sc where grade is null) group by sno having min(grade) >=90;
这是全部代码,确定要查询的是student表的sno ,当一个查询涉及数据库中的多个表时,一般要按照一定的条件把这些表连接在一起,通过=好进行等值连接,连接完毕后,我们知道,集函数min忽略空值,如果某个学生的其他成绩都大于等于90,而有一门没成绩,这个学生到底符合不符合,实际上成绩有一门为空值的学生是不符合这个条件的,所以执行语句排除成绩有空值的学生,然后通过sno 分组 ,学生每门课成绩的最小值为90 ,则为优秀。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网