单表数据查询

本文介绍了如何使用SQL的GROUPBY、ORDERBY、HAVING和COMPUTEBY等子句进行分组查询、数据排序和汇总,通过实例演示了统计课程选修人数、性别平均年龄、高分学生信息等操作。
摘要由CSDN通过智能技术生成

实验目的:掌握分组查询的方法,掌握数据排序的方法和数据汇总的方法。

实验原理:使用 SQL查询语句、SELECT语句、WHERE语句、运算符和比较条件、聚合函数、排序、分组、连接操作。

1.统计各门课程的选修人数。

use XSCJ
go
select cno,count(sno) as 选修人数 from sc group by cno

2.分别统计男女生的平均年龄。

select ssex,count(sage) as 平均年龄 from student group by ssex

3.查询所有科目成绩在85分以上的学生的学号及平均分。

select sno,avg(grade) as 平均分 from sc group by sno
having min(grade)>=85

4.查询平均年龄大于18岁的系部和平均年龄。

select sdept,avg(sage) as 平均年龄 from student group by sdept
having avg(sage)>18

5.查询选修2101课程的所有学生信息,并按成绩降序排列。

select * from sc where cno='2101' order by grade desc

6.查询sc中课程号为2101的记录,并将结果保存入表sc1中。

select * into sc1 from sc where cno='2101'

7.查询学生的详细信息,并返回学生的总人数和平均年龄。

select * from student order by sage asc COMPUTE count(sno),avg(sage)

8.查询学生的详细信息,同时返回每个年龄段的学生的总人数和平均年龄。

select * from student order by sage desc compute count(sno),avg(sage) by sage

实验小结:

        用group by子句进行分组查询,如果使用group by子句,则select 子句中的列只能分组项字段和聚合函数(group by 要跟select后的聚合函数前的字段一致)。用order by子句用于对查询结果进行排序,升序用ASC,降序用DESC,COMPUTE BY子句为各组生成汇总值,对同一组计算多个聚合函数。

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@小小欢

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值