数据库原理 复杂查询 实验报告.docx
- 文档编号:23397012
- 上传时间:2023-05-16
- 格式:DOCX
- 页数:12
- 大小:98.60KB
数据库原理 复杂查询 实验报告.docx
《数据库原理 复杂查询 实验报告.docx》由会员分享,可在线阅读,更多相关《数据库原理 复杂查询 实验报告.docx(12页珍藏版)》请在冰豆网上搜索。
数据库原理复杂查询实验报告
计算机科学与信息学院
软件工程系上机实验报告
《数据库原理》实验报告
题目
实验4复杂查询
(一)
姓名
***
班级
***
日期
***
实验环境:
SQLServer2000
实验内容与完成情况:
一、实验目的
本实验的目的使学生熟练掌握SQLServer查询分析器的使用方法,本实验的目的是使学生进一步掌握SQLServer查询分析器的使用方法,加深SQL语言的连接查询的理解。
二、实验内容
本实验使用实验三中建立的基本表Student、Course、SC和Teacher中的元组。
Student
学号
Sno
姓名
Sname
性别
Ssex
年龄
Sage
所在系
Sdept
200215121
李勇
男
20
CS
200215122
刘晨
女
19
CS
200215123
王敏
女
18
MA
200215125
张立
男
19
IS
200215126
欧阳丽
女
21
FL
Course
课程号
Cno
课程名
Cname
先行课
Cpno
学分
Ccredit
1
数据库
5
4
2
数学
2
3
信息系统
1
4
4
操作系统
6
3
5
数据结构
7
4
6
数据处理
2
7
PASCAL
6
4
8
DB_Design
1
2
SC
学号
Sno
课程号
Cno
成绩
Grade
200215121
1
92
200215121
2
85
200215121
3
88
200215122
2
90
200215122
3
80
200215122
1
200215123
2
50
200215123
3
70
Teacher
教师编号
Tno
教师
姓名
Tname
性别
Tsex
年龄
Tage
所在系
Tdept
职称
Ttitles
工资
Twage
系主任
编号
Tdno
110001
钟灵
女
27
CS
讲师
2800
110005
110002
杨毅
男
42
CS
副教授
3500
110005
110003
周倩
女
25
CS
讲师
2800
110005
110005
陈文茂
男
48
CS
教授
4000
110005
120001
江南
男
30
IS
副教授
3500
120003
120002
刘洋
男
28
IS
讲师
2800
120003
120003
汪明
男
44
IS
教授
4000
120003
120004
张蕾
女
35
IS
副教授
3500
120003
130001
邹佳羽
女
25
MA
讲师
2800
130003
130002
王力
男
30
MA
讲师
2800
130003
130003
王小峰
男
35
MA
副教授
3500
130003
130004
魏昭
男
40
MA
副教授
3500
130003
140001
王力
男
32
FL
副教授
3500
140005
140002
张小梅
女
27
FL
讲师
2800
140005
140003
吴娅
女
27
FL
讲师
2800
140005
140004
陈姝
女
35
FL
副教授
3500
140005
140005
周斌
男
44
FL
教授
4000
140005
在SQLServer2000查询分析器中,使用连接查询完成如下查询要求:
(1)求选课学生的基本情况以及他的选修情况;
SELECTStudent.*,SC.*
FROMStudent,SC
WHEREStudent.Sno=SC.Sno;
(2)求学生的学号、姓名、选修的课程号及成绩;
SELECTStudent.Sno,Student.Sname,SC.Cno,SC.Grade
FROMStudent,SC
WHEREStudent.Sno=SC.Sno;
(3)求选修课程号为1且成绩在90以上的学生学号、姓名和成绩;
SELECTStudent.Sno,Student.Sname,SC.Grade
FROMStudent,SC
WHEREStudent.Sno=SC.SnoANDSC.Cno=1ANDGrade>90;
(4)求每一门课程的间接先行课(即先行课的先行课);
SELECTFIRST.Cno,SECOND.Cpnoas'该课程的先行课'
FROMCourseFIRST,CourseSECOND
WHEREFIRST.Cno=SECOND.Cno;
(5)求选修了数学课的学生的学号和姓名;
SELECTStudent.Sno,Student.Sname
FROMStudent,SC,Course
WHEREStudent.Sno=SC.SnoANDSC.Cno=Course.CnoANDCourse.Cname='数学';
(6)求学生李勇选修的总学分;
SELECTSC.Sno,SUM(SC.Grade)as'总学分'
FROMStudent,SC
WHEREStudent.Sno=SC.SnoANDStudent.Sname='李勇'
GroupbySC.Sno;
(7)求各学生选修的总学分;
SELECTStudent.Sname,SUM(SC.Grade)as'总学分'
FROMStudent,SC
WHEREStudent.Sno=SC.Sno
GroupbyStudent.Sname;
(8)求课程“数据库”的平均成绩;
SELECTCourse.Cnameas'数据库',AVG(SC.Grade)as'平均成绩'
FROMCourse,SC
WHERECourse.Cno=SC.CnoANDCourse.Cname='数据库'
GroupbyCourse.Cname;
(9)求计算机系学生的选课情况;
SELECTSC.*,Student.Sname,Student.Sdept
FROMSC,Student
WHERESC.Sno=Student.SnoANDStudent.Sdept='CS';
(10)求和钟灵在同一个系的老师姓名;
SELECTTname
FROMTeacher
WHERETdept=
(SELECTTdept
FROMTeacher
WHERETname='钟灵');
(11)求吴娅所在系的教师人数;
SELECTCOUNT(Tdept)
FROMTeacher
WHERETdept=
(
SELECTTdept
FROMTeacher
WHERETname=‘吴娅’);
(12)求和王小峰同一职称的教师姓名和所在系;
SELECTTname,Tdept
FROMTeacher
WHERETtitles=
(
SELECTTtitles
FROMTeacher
WHERETname=‘王小峰’)
ANDTname!
=‘王小峰’;
(13)求和邹佳羽工资相同的教师人数;
SELECTcount(Twage)
FROMTeacher
WHERETwage=(
SELECTTwage
FROMTeacher
WHERETname='邹佳羽')
ANDTname!
='邹佳羽';
(14)求汪明所在系教师的平均工资和最高工资;
SELECTAVG(Twage)as'平均工资',MAX(Twage)as'最高工资'
FROMTeacher
WHERETdept=(
SELECTTdept
FROMTeacher
WHERETname='汪明');
(15)求至少选修了8个学分的学生学号。
SELECTSC.Sno,SUM(Course.Ccredit)
FROMSC,Course
WHERECourse.Cno=SC.Cno
GROUPBYSC.Sno
HAVINGSUM(Course.Ccredit)>=8;
三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)
问题1:
在求选修了数学课的学生的学号和姓名时,结果为零。
分析原因:
是否是表之间的属性联系没有对应,导致无法连接表,而没有显示数据;
解决办法:
检查表之间的公共属性是否连接正确,发现Course表的Cno没有与SC表的Cno连接。
问题2:
在求学生李勇选修的总学分,要显示总学分,则要标明是谁的总学分,用学生姓名来标明,但输入‘SELECTStudent.Sname,SUM(SC.Grade)····’查询时提示“选择列表中的列'Student.Sname'无效,因为该列没有包含在聚合函数或GROUPBY子句中。
”
分析原因:
是否是聚集函数是按子句__进行分组的;
解决办法:
将分组子句改为‘GroupbyStudent.Sno;’改为‘GroupbyStudent.Sname;’,问题解决。
问题3:
在求和王小峰同一职称的教师姓名和所在系时,将王小峰也显示出来了。
分析原因:
因为是嵌套查询,所以王小峰所在系与内查寻的系相同,所以也显示;
解决办法:
将王小峰的名去掉,加上’ANDTname!
=‘王小峰’’。
问题解决。
问题4:
在求汪明所在系教师的平均工资和最高工资时,提示“操作数数据类型char对于avg运算符无效。
”;
分析原因:
AVG()聚集函数是对int型元素进行运算的。
解决办法:
将Teacher表的Twage数据类型改为int型。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库原理 复杂查询 实验报告 数据库 原理 复杂 查询 实验 报告