首页 > 其他 > 详细

学生——成绩表查询

时间:2015-11-08 14:11:01      阅读:325      评论:0      收藏:0      [点我收藏+]

一、表

学生表:student

技术分享

课程表:course

技术分享

成绩表:score

技术分享

注:s_id不是主键,而是外键。

教师表:teacher

技术分享

二、查询

1.查询所有平均分80分以上的学生

SQL:

select sname 
from student
where s_id in(
     select s_id 
     from score x
     where (select avg(score) 
     from score y 
     where x.s_id=y.s_id)>80)

分析:此查询的关键在于从成绩表score中查询平均分在80分以上的学生学号,即第2层嵌套的查询,可以看出其对成绩表score 查询了2次,最里面是从成绩表查询平均分avg(score) ,将avg(score) >80作为条件,再查对应的学号s_id,得到这个s_id,就可以利用in从学生表查询结果了。

结果:

技术分享

2.查询各科成绩的最高分,及对应的学生姓名,课程名称:

 

学生——成绩表查询

原文:http://www.cnblogs.com/wql025/p/4946393.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!