求平均分+子查询

17.查询班级是’95031’班学生每门课的平均分
用到分组group by;

select c_no,avg(degree) from score
where s_no in (select no from student where class='95031')
group by c_no;

再解释一下为什么要用in,可以这么说,in包含等于
而最后本题中no的个数不止一个所以用in
18.查询选修"3-105"课程的成绩高于’109’号同学’3-105’成绩 的所有同学的记录
(查询在3-105课程下,所有成绩高于109号同学的记录)

select *from score
where c_no='3-105'
and degree>(select degree from score where s_no='109' and c_no='3-105');

19查询所有成绩高于 109 号同学的 3-105 课程成绩记录。

select * from score 
where degree>(select degree from student where s_no='109' and c_no='3-105');

你可能感兴趣的:(SQL)