SQL语言-select查询操作

本文通过10个实例详细介绍了SQL语言的select查询操作,包括统计有学生选修的课程数、计算特定课程的平均年龄、求学分为3的课程平均分、查询选修人数超过3人的课程信息、筛选特定条件的学生、检索特定姓氏的学生信息、查找成绩为空的学生、筛选年龄超过女性平均年龄的男性学生、找出年龄大于所有女性的男性学生以及查询选修多门课程的学生总成绩等复杂查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值