Oracle存储

来源:百度知道 编辑:UC知道 时间:2024/09/21 13:40:32
编写存储过程,将三门功课都高于80分的学生归入yxxs(优秀学生表:字段和student相同)中

怎么写啊?

是不是只有3门功课?

如果是的话,不用过程,直接一个sql语句就能实现

思路如下:根据学生的学号分组,然后对每个分组使用min(),也就是最低分数都大于80的话,那么3门肯定都超过80,即为优秀学生,sql语句大体如下:

select sno,sname
from student
where sno in
(
select sno
from student
group by sno
having min(grade)>80
);

PS:我想你的学生表中肯定有学号这个主键吧,子查询可以查出3门功课中最低分数不低于80的学生学号,再通过外层查询,得出符合优秀学生条件的学生学号以及姓名,具体课程以及分数就可不用关注了