[★★★★]33、 查询成绩比该课程平均成绩低的同学的成绩表。
//第一步:查询每门课程的平均成绩
select cno,avg(degree) from score
group by cno;
//第二步:查出 那些学生的成绩 比该课程的 平均成绩低的同学
select sno,cno,degree from score a
where a.degree < (select avg(degree) from score b
where a.cno = b.cno);
解释第二步
思路:
**score表建立别名为 a 表作为主表 **
score建立别名 b 表作为子查询,也是a表的复制表。但是在子查询的查询语句中,b表中查询的结果是 平均分avg(degree)。
重点:建立 a表与复制表b表的 关联关系,使用where a.cno=b.cno作为条件,(a表的 cno字段 与b表的cno字段是一样的)