SQL高级查询的应用

实验3  SQL高级查询的应用

  1. 实验环境:

操作系统:Windows 11 家庭版

数据库管理系统:SQL SERVER 2019

客户端:SSMS 19.3(SQL Server Management Studio 19.3.4.0)

数据库模式:MyDB

学生表:Student(Sno,Sname,Ssex,Sage,Sdept)

课程表:Course(Cno,Cname,Cpno,Ccredit)

选课表:SC(Sno,Cno,Grade)

数据库的值:如图2.4(教材52页)

  1. 在学生选课表中,试用SUM、AVG、COUNT函数统计所有学生的总分、平均分、课程门数。

实验代码:

select sum(grade) as sum,avg(grade) as avg,count(grade) as count

from SC

运行结果:

2、在学生表和学生选课表中,查询学生的学号、姓名、成绩、课程编号信息。

实验代码:

select Student.sno,student.sname,sc.grade,sc.cno

from Student, SC

where Student.sno=Sc.sno;

运行结果:                                                             

3、在学生表、学生选课表、课程表中,查询学生的学号、姓名、课程编号、课程名称和课程成绩信息。

实验代码:

select Student.sno,student.sname,sc.cno,Course.cname,sc.grade

from Student, SC ,course

where Student.sno=Sc.sno

and SC.Cno=Course.Cno

运行结果:

4、在学生选课表和学生表中,查询性别为女的所有学生成绩记录。

实验代码:

select student.Sno,SC.Cno,SC.Grade,Student.Sno,Student.Sname,Student.SSex,Student.Sage,Student.Sdept

from Student,SC

where student.sno=SC.sno

and Ssex=''

运行结果:

5、在学生选课表中,统计学号为201215121的学生的成绩总分、成绩平均分、所修课程门数。

实验代码:

select sum(grade) as Sum,avg(grade) as avg,count(grade) as count

from SC

where sno='201215121'

运行结果:

6、查询平均分最高的10个学生成绩信息,包括学生平均分、课程门数、最高分、最低分字段。

实验代码:

select top 10  avg(grade) as Avg,count(grade) as Count,max(grade)as Max,min(grade)as Min

from Student,SC

where Student.Sno=SC.Sno

group by Student.sno,sname

ORDER BY avg DESC

运行结果:

7、在学生选课表和学生表中,统计各学生所有课程平均分、总分、最高分、最低分、所修课程门数,包括学生学号、学生姓名、平均分、总分、最高分、最低分、所修课程门数字段,并按平均分高低排序。

实验代码:

select Student.Sno,Student.Sname,avg(grade) as Avg,sum(grade) as sum,max(grade)as Max,min(grade)as Min,count(grade) as Count

from Student,SC

where Student.Sno=SC.Sno

group by Student.sno,sname

order by Avg(grade) DESC

运行结果:

8、在学生选课表和课程表中,统计各门课程平均分、所修人数、课程最高分、课程最低分,包括课程编号、课程名称、课程平均分、课程最高分、课程最低分、所修人数字段,并按平均分高低排序。

实验代码:

select course.cno as 课程编号,cname as 课程名称,  avg(grade) as 课程平均分,max(grade)as 课程最高分,min(grade)as 课程最低分,count(grade) as 所修人数

from SC,course

where SC.cno=course.cno

group by Course.cno,course.cname

ORDER BY 课程平均分 ASC

运行结果:

  1. 实验总结:

本节课实验主要使用了连接查询和聚集函数,同时学到了课本以外的方法(top 10),熟练了group by的使用

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值