实验3数据查询Word文档格式.docx

上传人:b****3 文档编号:16035189 上传时间:2022-11-17 格式:DOCX 页数:19 大小:265.24KB
下载 相关 举报
实验3数据查询Word文档格式.docx_第1页
第1页 / 共19页
实验3数据查询Word文档格式.docx_第2页
第2页 / 共19页
实验3数据查询Word文档格式.docx_第3页
第3页 / 共19页
实验3数据查询Word文档格式.docx_第4页
第4页 / 共19页
实验3数据查询Word文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

实验3数据查询Word文档格式.docx

《实验3数据查询Word文档格式.docx》由会员分享,可在线阅读,更多相关《实验3数据查询Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

实验3数据查询Word文档格式.docx

2.在表S、C、SC上进行连接查询;

3.在表S、C、SC上进行嵌套查询;

4.使用聚合函数的查询;

5.对数据的分组查询;

6.对数据的排序查询。

具体内容:

在表S,C,SC上完成以下查询:

1.查询学生的基本信息;

2.查询“CS”系学生的基本信息;

3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;

4.找出所有学生中的最大年龄;

5.找出“CS”系年龄最大的学生,显示其学号、姓名;

6.找出各系年龄最大的学生,显示其学号、姓名;

7.统计“CS”系学生的人数;

8.统计各系学生的人数,结果按升序排列;

9.按系统计各系学生的平均年龄,结果按降序排列;

10.查询每门课程的课程名;

11.查询无先修课的课程的课程名和学时数;

12.统计无先修课的课程的学时总数;

13.统计每位学生选修课程的门数、学分及其平均成绩;

14.统计选修每门课程的学生人数及各门课程的平均成绩;

15.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;

16.查询选修了“1”或“2”号课程的学生学号和姓名;

17.查询选修了“1”和“2”号课程的学生学号和姓名;

18.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;

19.查询每位学生选修了课程的学生信息(显示:

学号,姓名,课程号,课程名,成绩);

20.查询没有选修课程的学生的基本信息;

21.查询选修了3门以上课程的学生学号;

22.查询选修课程成绩至少有一门在80分以上的学生学号;

23.查询选修课程成绩均在80分以上的学生学号;

24.查询选修课程平均成绩在80分以上的学生学号;

25.选做:

针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。

四、实验步骤

1.打开SQLserver;

2.进入查询分析器;

3.创建S数据库;

4.建立S、C、SC三个学生关系表;

5.根据要求,对三个关系表进行操作;

6.用SQL命令语句完成实验要求,详见源程序;

7.将调试过程及结果,截图保存。

五、调试过程及实验结果

查询学生的基本信息

查询“CS”系学生的基本信息

查询“CS”系学生年龄不在19到21之间的学生的学号、姓名

找出所有学生中的最大年龄

找出“CS”系年龄最大的学生,显示其学号、姓名

找出各系年龄最大的学生,显示其学号、姓名

统计“CS”系学生的人数

统计各系学生的人数,结果按升序排列

按系统计各系学生的平均年龄,结果按降序排列

查询每门课程的课程名

查询无先修课的课程的课程名和学时数

 

统计无先修课的课程的学时总数

统计每位学生选修课程的门数、学分及其平均成绩

统计选修每门课程的学生人数及各门课程的平均成绩

找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列

查询选修了“1”或“2”号课程的学生学号和姓名

查询选修了“1”和“2”号课程的学生学号和姓名

查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩

查询每位学生选修了课程的学生信息(显示:

学号,姓名,课程号,课程名,成绩)

查询没有选修课程的学生的基本信息

查询选修了3门以上课程的学生学号

查询选修课程成绩至少有一门在80分以上的学生学号

查询选修课程成绩均在80分以上的学生学号

查询选修课程平均成绩在80分以上的学生学号

六、总结

通过本次实验,我基本掌握了SQL语句中的各种查询方式,简单查询、连接查询、嵌套查询、使用聚合函数的查询、对数据的分组查询、对数据的排序查询等,但是对比较复杂的查询方式,还不能熟练运用,特别是其WHERE条件,有时,还不能够准确描述,这将在以后的练习中有所加强。

七、源程序清单

建立S数据库

CREATEDATABASES;

建立关系表Student

CREATETABLEStudent

(SnoCHAR(9)PRIMARYKEY,

SnameCHAR(20),

SsexCHAR

(2),

SageSMALLINT,

SdeptCHAR(20)

);

建立关系表Course

createtableCourse

(Cnochar(4)primarykey,

Cnamechar(40),

Cpnochar(4),

Ccreditsmallint,

foreignkey(Cpno)referencesCourse(Cno)

);

建立关系表SC

CREATETABLESC

(Snochar(9),

Cnochar(4),

Gradesmallint,

primarykey(Sno,Cno),

foreignkey(Sno)referencesStudent(Sno),

foreignkey(Cno)referencesCourse(Cno)

向学生表Student中插入数据

INSERT

INTOStudent

VALUES('

200215121'

'

李勇'

男'

20,'

CS'

200215122'

刘晨'

女'

19,'

200215123'

王敏'

18,'

MA'

VALUES('

200215125'

张立'

IS'

向课程表Course中插入数据

INTOCourse

2'

数学'

NULL,2);

6'

数据处理'

4'

操作系统'

3);

7'

PASCAL语言'

4);

5'

数据结构'

1'

数据库'

3'

信息系统'

向学生选课表SC中插入数据

INTOSC

92);

85);

88);

90);

INTOSC(Sno,Cno,Grade)

80);

SELECT*fromstudent;

SELECT*fromstudentwheresdept='

cs'

;

SELECTsno,sname,sdept

fromstudent

wheresdept='

andsagenotbetween19and21;

SELECTSno,Sname,Ssex,Sdept,SageMAXSage

FROMStudent

WHERESage=(

SELECTMAX(Sage)

FROMStudent

SELECTSno,Sname,Ssex,Sdept

WHERESdept='

SELECTSdept,MAX(Sage)

GROUPBYSdept;

SELECTSdept,COUNT(*)NumStudent

WHERESdept='

GROUPBYSdept

ORDERBYNumStudentASC;

SELECTSdept,AVG(Sage)AVGSage

ORDERBYAVGSageDESC;

SELECTCno课程编号,Cname课程名称

FROMCourse;

SELECTCname,Ccredit

FROMCourse

WHERECno!

=ALL(SELECTCno

FROMCourse

WHERECpno!

='

NULL'

SELECTSUM(Ccredit)无先修课的课程学分总数

SELECTSno,COUNT(SC.Cno)选修课程总数,AVG(Grade)平均成绩,SUM(Ccredit)总学分

FROMCourse,SC

WHERECourse.Cno=SC.Cno

GROUPBYSno;

SELECTCno,COUNT(Sno)课程选修人数,AVG(Grade)平均成绩

FROMSC

GROUPBYCno;

15.找出平均成绩在85分以上的学生,结果按系分组,并按平

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1