附件2 天津商业大学学生实验报告
开课实验室:403机房 开课时间 20##年 10月17日 实验报告 20## 年 10月17日
注1.每个实验项目一份实验报告。2.实验报告第一页学生必须使用规定的实验报告纸书写,附页用实验报告附页纸或A4纸书写,字迹工整,曲线要画在坐标纸上,线路图要整齐、清楚(不得徒手画)。3.实验教师必须对每份实验报告进行批改,用红笔指出实验报告中的错、漏之处,并给出评语、成绩,签全名、注明日期。4.待实验课程结束以后,要求学生把实验报告整理好,交给实验指导教师,加上实验课学生考勤及成绩登记表(见附件2)、目录和学院统一的封面(见附件3)后,统一装订成册存档。
共 页 第 页 制表单位:设备处
数据库应用设计实验报告
实验名称:_____ 实验3 数据查询______ 实验类型:_________验证型实验_________ 实验环境:指导教师:__ ____ ___ 专业班级:__________计科0802班________ 姓 名:____________ ____________ 学 号:_______ ______ ______ 联系电话:________ ______ _ 电子邮件:_ _ _
实验地点:____________________________ 实 验 日 期: 2011 年 4 月 13 日 实验报告日期: 2011 年 4 月 17 日
成绩:__________________________
一、实验目的
? 掌握查询语句的一般格式;
? 熟练掌握单表查询、连接查询、集合查询、统计查询和嵌套查询。
二、实验平台
PC机,操作系统为windows2000,SQLsever2000
三、实验步骤、出现的问题及解决方案(不能解决的将问题列出)
本次实验同样是在前2次实验的基础上进行的,也就是对上两次做好的实验进行数据查询。其中包括:单表查询,连接查询,嵌套查询和集合查询。上两次的代码就不在这里展示了。
在数据库“zjs”中完成查询。
完整代码如下:
/*查询全体学生的学号与姓名。*/
select 学号,姓名
from 学生表;
/*查询每个学生及其选修课程的情况。*/
select *
from 选课表;
/*查询所有姓“张”的学生的基本情况。*/
select *
from 学生表
where 姓名 like '张%';
/*查询每一门课的间接先修课(即先修课的先修课)。*/ select first.课程编号,second.先修课
from 课程表 first,课程表 second
where first.先修课=second.课程编号;
/*查询选修了课程名为“数据库”的学生学号、姓名及所在班级的名称。*/
select 学号,姓名,班级名称
from 学生表,班级表
where 学生表.班级编号=班级表.班级编号
and 学号 in(
select 学号
from 选课表
where 课程编号 in (
select 课程编号
from 课程表
where 课程名='数据库'
)
);
/*查询学生200515121选修课程的总学分。*/
SELECT SUM(学分) 总学分
FROM 课程表,选课表
WHERE 学号='200515121' AND 选课表.课程编号=课程表.课程编号
/*查询各个课程号及相应的选课人数。*/
SELECT 课程编号,COUNT(学号) 选课人数
FROM 选课表
GROUP BY 课程编号
/*查询选修了五门以上课程的学生学号*/
SELECT 学号
FROM 选课表
GROUP BY 学号
HAVING COUNT(课程编号)>5;
/*查询学分为3或4的课程名、课程编号及学分。*/ SELECT 课程名,课程编号,学分
FROM 课程表
WHERE 学分 IN (3,4)
/*查询有2门以上课程是90分以上的学生的学号及(90分以上的)课程数。*/
SELECT 学号,COUNT(课程编号) 课程数
FROM 选修课
WHERE 成绩>=90
GROUP BY 学号
HAVING COUNT(课程编号)>=2
/*查询选修了“2”号课程的学生的平均成绩。
SELECT 学号,AVG(成绩) 平均成绩
FROM 选课表
WHERE 课程编号='2'
GROUP BY 学号
/*没有选课的学生姓名及学号。*/
SELECT 学号,姓名
FROM 学生表
WHERE 学号 NOT in (SELECT 学号
FROM 选课表 ) */
/*查询选修了“3”号课程的学生的学号及其成绩,查询结果按分数的降序排列。*/
SELECT 学号,成绩
FROM 选课表
WHERE 课程编号='3'
ORDER BY 成绩 DESC
/*查询与“张帆帆”在同一个系学习的学生学号、姓名和系名。*/
SELECT 学号,姓名,院系名称
FROM 学生表,院系表,班级表
WHERE 学生表.班级编号=班级表.班级编号 AND 班级表.院系编号=院系表.院系编号
AND 院系名称 = (SELECT 院系名称
FROM 学生表,院系表,班级表
WHERE 学生表.姓名='张帆帆'AND 院系表.院系编号=班级表.院系编号 AND
班级表.班级编号=学生表.班级编号)
/*查询选修了所有课程的学生姓名和所在系。*/
SELECT 姓名,院系名称
FROM 学生表,院系表,班级表
WHERE 院系表.院系编号=班级表.院系编号 AND 班级表.班级编号=学生表.班级编号 AND
NOT EXISTS(SELECT *
FROM 课程表
WHERE NOT EXISTS (SELECT *
FROM 选课表
WHERE 学号=学生表.学号 AND 课程编号=课程表.课程编号))
/*查询选修了至少选修了200515122选修的全部课程的学生学号*/
SELECT 学号
FROM 选课表 X1
WHERE NOT EXISTS(SELECT *
FROM 选课表 X2
WHERE X2.学号='200515122'AND
NOT EXISTS(SELECT *
FROM 选课表 X3
WHERE X1.学号=X3.学号 AND
X2.课程编号=X3.课程编号))
总结:
本次实验是在上两次实验的基础上进行的,主要是考察对单表查询、连接查询、集合查询、统计查询和嵌套查询代码的掌握,总体来说这次实验在做的时候问题不大,但是在写代码的时候发现自己对嵌套查询以及EXISTS的使用还不够熟悉,需要加强。
实验一SQLServer基本使用与数据定义一实验目的1掌握企业管理器及查询的定义方法使用方法2熟悉数据库建模及ER图的画法3掌握S…
实验一SQLServer基本使用与数据定义一实验目的1掌握服务管理器企业管理器及查询分析器基本使用方法2熟悉数据库建模及ER图的画…
SQLServer实验报告学号姓名专业信息管理与信息系统目录实训一数据库的基本操作实训二表实训三数据完整性实训四索引实训五数据查询…
HEFEIUNIVERSITY数据库设计报告题目产品销售系统系别电子信息与电气工程系班级09级电气信息类5班学号090507503…
重庆大学经济与工商管理学院实验报告课程名称数据库原理及应用实验学期20xx年至20xx年第2学期学生所在学院经济与工商管理学院年级…
实验报告学院系名称计算机与通信工程学院第1页共5页实验过程记录源程序测试用例测试结果及心得体会等21updateSCsetGrad…
合肥师范学院实验报告册20xx20xx学年第2学期系别实验课程专业班级姓名学号指导教师计算机学院数据库原理实验一数据库基本操作一实…
数据库原理与应用实验报告专业班级学号姓名浙江传媒学院电子信息学院20xx21实验1SQLServer20xx使用一实验目的1熟悉S…
实验一SQLServer基本使用与数据定义一实验目的1掌握服务管理器企业管理器及查询分析器基本使用方法2熟悉数据库建模及ER图的画…
实验报告书写要求实验报告原则上要求学生手写要求书写工整若因课程特点需打印的要遵照以下字体字号间距等的具体要求纸张一律采用A4的纸张…
筷子的神力思考:把一根筷子插入装着米的杯子中,然后将筷子上提,筷子会把米和杯子提起吗?材料:塑料杯一个、米一杯、竹筷子一根操作:1…