山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩:
(11) 查询与“李勇”同一个系的同学姓名。
(12) 查询学号比“刘晨”同学大,而出生日期比他小的学生姓名。
(13) 查询出生日期大于所有女同学出生日期的男同学的姓名及系别。
(14) 查询成绩比该课程平均成绩高的学生的学号及成绩。
(15) 查询不讲授“C01”课的教师姓名。
(16) 查询没有选修“C02”课程的学生学号及姓名。
(17) 查询选修了“数据库”课程的学生学号、姓名及系别。
(18) 查询“C02”号课程不及格的学生信息。
三、思考题
(1) 子查询一般分为几种?
(2) 相关子查询的执行过程是什么?
四、实验总结:
1、收获
2、存在的问题
16
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十 数据更新
一、实验目的:
(1) 掌握利用INSERT命令实现对表数据的插入操作。 (2) 掌握利用UPDATE命令实现对表数据的修改操作。 (3) 掌握利用DELETE命令实现对表数据的删除操作。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
在Gradem或Gradem1数据库中完成下面操作:
注意:利用SELECT INTO?命令备份Student、SC、Course这3个表,备份表名自定。
(1) 向Student表中插入记录(\,\张静\,\,\女\,\,\电子商务\。
(2) 插入学号为“20050302”、姓名为“李四”的学生信息。
(3) 把计算机系的学生记录保存到表TS中(TS表已存在,表结构与Student表相同)。
(4) 将学号为“20050202”的学生姓名改为“张华”,系别改为“CS”,专业改为“多媒体技术”。
(5) 将“李勇”同学的专业改为“计算机信息管理”。
(6) 将“20050201”学生选修“C03”号课程的成绩改为该课的平均成绩。
(7) 把成绩低于总平均成绩的女同学的成绩提高5%。
(8) 把选修了“数据库”课程而成绩不及格的学生的成绩全改为空值(NULL)。
17
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: (9) 删除学号为“20050302”的学生记录。
(10) 删除“计算机系”所有学生的选课记录。
(11) 删除SC表中尚无成绩的选课记录。
(12) 把“张晨”同学的成绩全部删除。
三、思考题
(1) DROP命令和DELETE命令的本质区别是什么?
(2) 利用INSERT、UPDATE和DELETE命令可以同时对多个表进行操作吗?
四、实验总结:
1、收获
2、存在的问题
18
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: 实验十一、十二、十三 第四章综合实验
一、实验目的:
(1) 进一步掌握SELECT语句的功能及使用方法。
(2) 进一步掌握SELECT语句的基本语法和查询条件表示方法; (3) 进一步掌握查询条件种类和表示方法; (4) 进一步掌握连接查询的表示及使用; (5) 进一步掌握嵌套查询的表示及使用; (6) 了解集合查询的表示及使用
(7) 进一步掌握利用INSERT命令实现对表数据的插入操作。 (8) 进一步掌握利用UPDATE命令实现对表数据的修改操作。 (9) 进一步掌握利用DELETE命令实现对表数据的删除操作。
二、实验要求
1、学生提前准备好实验报告,预习并熟悉实验步骤; 2、遵守实验室纪律,在规定的时间内完成要求的内容; 3、1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤
在Grademanager数据库中完成下面操作:
(1) 查询以‘DB_’开头,且倒数第3个字符为‘s’的课程的详细情况; Select * from course where cname like ‘db\\_%s_ _’
(2) 查询名字中第2个字为‘阳’的学生姓名和学号及选修的课程号、课程名;
?思考能否用嵌套查询?
(3)列出选修了‘数学’或者‘大学英语’的学生学号、姓名、所在院系、选修课程号及成绩;
(4) 查询缺少成绩的所有学生的详细情况;
(5) 查询与‘张力’(假设姓名唯一)年龄不同的所有学生的信息;
(6) 查询所选课程的平均成绩大于张力的平均成绩的学生学号、姓名及平均成绩;
Select a.sno,sname,avg(degree) from student a,sc b where a.sno=b.sno group by a.sno having avg(degree)>(select
19
山东信息职业技术学院实验报告
学号: 姓名: 班级: 同组者:
课程名称: 数据库原理及应用 指导老师: 孟秀锦 实验成绩: avg(degree) from student a,sc b where a.sno=b.sno and sname=’张力’) (7) 列出只选修一门课程的学生的学号、姓名、院系及成绩;
Select a.sno,sname,sdept,degree from student a,sc b where a.sno=b.sno group by a.sno having count(*)=1
(8) 查找选修了至少一门和张力选修课程一样的学生的学号、姓名及课程号; Select a.sno,sname,cno from student a,sc b
where a.sno=b.sno and cno in (select cno from student a,sc b where a.sno=b.sno and sname=’张力’)
(9) 只选修“数据库”和“数据结构”两门课程的学生的基本信息; Select * from student a,sc b
Where a.sno=b.sno and b.sno in(select sno from sc a,course b where a.cno=b.cno and cname='大学英语' and sno in (select sno from sc a,course b where a.cno=b.cno and cname='高等数学')) Group by b.sno having count(cno)=2
(10) 至少选修“数据库”或“数据结构”课程的学生的基本信息;
(11) 列出所有课程被选修的详细情况,包括课程号、课程名、学号及成绩;
(12) 查询只被一名学生选修的课程的课程号、课程名;
Select cno,cname from course where cno in(select cno from sc group by cno having count(*)=1)
(13) 使用嵌套查询列出选修了“数据结构”课程的学生学号和姓名;
(14) 使用嵌套查询查询其它系中年龄小于计算机系的某个学生的学生姓名、年龄和系别;
(15) 使用ANY、ALL 查询,列出其他院系中比CS系所有学生年龄小的学生;
(16) 分别使用连接查询和嵌套查询,列出与‘张力’在一个系的学生的信息;
(17) 使用集合查询列出CS系的学生以及性别为女的学生名单;
20