软件123实验四.docx
《软件123实验四.docx》由会员分享,可在线阅读,更多相关《软件123实验四.docx(13页珍藏版)》请在冰豆网上搜索。
软件123实验四
贵州大学计算机科学与信息学院
软件工程系上机实验报告
《数据库原理》实验报告
题目
复杂查询
姓名
冯晓红
班级
软件123
日期
2014-4-26
实验环境:
SQLserver2008
实验内容与完成情况:
一、实验目的
本实验的目的使学生熟练掌握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,sname,cname,grade
Fromstudent,SC,course
Wherestudent.sno=SC.snoandSC.cno=o;
(3)求选修课程号为1且成绩在90以上的学生学号、姓名和成绩;
Selectstudent.sno,sname,grade
FromSC,student
Wherestudent.sno=SC.snoand
SC.cno=’1’
AndSC.grade>’90’;
(4)求每一门课程的间接先行课(即先行课的先行课);
Selecto,second.cpno
Fromcoursefirst,coursesecond
Wherefirst.cpno=o;
(5)求选修了数学课的学生的学号和姓名;
Selectsno,sname
Fromstudent
Wheresnoin
(selectsno
FromSC
Wherecnoin
(selectcno
Fromcourse
Wherecname=’数学’));
(6)求学生李勇选修的总学分;
Selectsum(ccredit)
FromSC,course,student
Wheresname=’李勇’ANDSC.cno=o;
(7)求各学生选修的总学分;
Selectsum(ccredit)
FromSC,course
WhereSC.cno=o;
(8)求课程“数据库”的平均成绩;
Selectavg(grade)
Fromcourse,SC
Wherecname=’数据库’ando=SC.cno;
(9)求计算机系学生的选课情况;
Selectsno,cno
FromSC,student
WheresnoIN
(selectsno
Fromstudent
Wheresdept=’CS’);
(10)求和钟灵在同一个系的老师姓名;
Selecttname
Fromteacher
Wheretdeptin
(selecttdept
Fromteacher
Wheretname=’钟灵’);
(11)求吴娅所在系的教师人数;
Selectcount(tno)
Fromteacher
Wheretdept=
(Selecttdept
Fromteacher
Wheretname=’吴娅’);
(12)求和王小峰同一职称的教师姓名和所在系;
Selecttname,tdept
Fromteacher
Wherettitles=
(Selectttitles
Fromteacher
Wheretname=’王晓峰’);
(13)求和邹佳羽工资相同的教师人数;
Selectcount(tno)
Fromteacher
Wheretwage=
(selecttwage
Fromteacher
Wheretname=’邹佳羽’);
(14)求汪明所在系教师的平均工资和最高工资;
Selectavg(twage),max(twage)
Fromteacher
Wheretdept=
(selecttdept
Fromteacher
Wheretname=’汪明’);
(15)求至少选修了8个学分的学生学号。
Selectsno
FromSC,course
Groupbysno
Havingcount(ccredit)>=’8’;
三、实验步骤
将查询需求用SQL语言表示:
在SQLServer查询分析器的输入区中输入SQL查询语句;编译和发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。
三、出现的问题及其解决方案(列出遇到的问题和解决办法,列出没有解决的问题)
问题1:
实验速度慢。
分析原因:
对知识掌握不熟悉,对系统的操作也还不熟悉。
解决办法:
多阅读相关书籍,多实验掌握对系统的操作。