1、 统计有学生选修的课程数
我们是要统计有学生选修的课程数,那么肯定是需要有count()这个函数的,然后,我们只需要统计下出现的课程号就可以了:
select count(distinct sc.cno) as course_num
from sc
我们可以看到输出的结果为:
2、 求选修4号课程的学生的平均年龄
我们可以看到,这个题目中有了一个限定条件,为选修了四号课程的学生,所以,我们可以在中间加以判断,在选出了适合的学生之后,我们可以进行年龄的平均数计算,我们看到平均数是需要利用avg()函数的,所以,我们可以进行下面的实验了:
select avg(S.sage) as avg_age
from student as S,sc as T
where T.cno = 4 and S.sno = T.sno
我们可以看到输出的结果为:
3、 求学分为3的每门课程的平均分
这里需要注意的是每门课程,所以,我们输出的结果就不像前面一样了,只是单一的结构,我们这次输出的结果就是多元的结果,因为学分为3的课程并不只是一种课程类型。所以,我们需要利用的就是group by这一个语句,通过对课程进行分组,我们可以分别输出对应的平均分数,而求平均分的方法,上一题也讲到了,但是,我们需要输出的是课程号和成绩,这两个元素不在一个表中,我们需要进行链接,因为中间可能有null的出现,所以,我们利用外链接的形式,只连接自己想要的部分,来完成这次的实验:
select T.cn