数据库原理及应用实验作业参考答案

上传人:资****亨 文档编号:215063147 上传时间:2021-11-24 格式:DOC 页数:25 大小:137KB
返回 下载 相关 举报
数据库原理及应用实验作业参考答案_第1页
第1页 / 共25页
数据库原理及应用实验作业参考答案_第2页
第2页 / 共25页
数据库原理及应用实验作业参考答案_第3页
第3页 / 共25页
数据库原理及应用实验作业参考答案_第4页
第4页 / 共25页
数据库原理及应用实验作业参考答案_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《数据库原理及应用实验作业参考答案》由会员分享,可在线阅读,更多相关《数据库原理及应用实验作业参考答案(25页珍藏版)》请在金锄头文库上搜索。

1、数据库原理与应用实验报告参考答案实验1 数据库的建立修改与删除实验2 表结构的建立修改删除及完整性约束条件定义实验3 数据查询与更新完成以下实验报告:?数据库原理与应用?实验报告院名专业年级班级学号姓名教师成绩一、实验题目实验3 数据查询与更新二、实验环境操作系统:Windows XP。数据库管理系统:MS SQL Server 2000或MS SQL Server 2021。三、实验目的 1掌握SELECT语句的语法、语义及语用。2掌握基于单表的查询方法。3掌握基于多表的查询方法。4掌握相关与不相关的嵌套查询。5掌握集合查询。6掌握插入(INSERT)、修改(UPDATE)和删除(DELET

2、E)语句的使用。四、实验内容 (一) 规定内容1. 单表查询USE ST-3_1 查询全体学生的详细记录。select * from student-3_2 查询选修了课程的学生学号。SELECT DISTINCT sno FROM sc-3_3 将“学生表中的sno、sname这2列合并为1列snosname输出(不改变表中存储的内容),其余列不变。select sno+sname snosname,ssex,sage,sdeptfrom student-3_4 查询年龄不在2023岁之间的学生姓名、系别和年龄。方法1:SELECT sname,sdept,sageFROM studentW

3、HERE sage NOT BETWEEN 20 AND 23; 方法2: SELECT sname,sdept,sage FROM student WHERE sage23;-3_5 查询计算机科学系(cs)、数学系(ma)和信息系(is)学生的姓名和性别。SELECT sname,ssexFROM studentWHERE sdept IN ( cs,ma,is );-3_6 查询所有姓“刘学生的姓名、学号和性别。SELECT sname,sno,ssexFROM studentWHERE sname LIKE 刘%;-3_7 查询名字中第2个字为阳字的学生的姓名和学号。SELECT sn

4、ame,snoFROM studentWHERE sname LIKE _阳%;-3_8 某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。 -查询缺少成绩的学生的学号和相应的课程号。SELECT sno,cno FROM scWHERE grade IS NULL;-3_9 查询计算机系年龄在20岁以下的学生姓名。SELECT snameFROM studentWHERE sdept=cs AND sage=3 -也可为:COUNT(cno)=3-3_19 查询有2门以上课程是80分以上的学生的学号及(80分以上的)课程数SELECT sno 学号,COUNT(*) 80分以上

5、的课程数FROM scWHERE grade=80GROUP BY sno HAVING COUNT(*)=2 2. 连接查询-自然连接-3_20 查询每个学生的学号、姓名、课号及成绩。SELECT student.sno,sname,cno,grade FROM student,sc-左外连接-3_21 查询每个学生的学号、姓名、课号及成绩(包括没有选修课程的学生)。方法1:SELECT student.sno,sname,cno,gradeFROM student,sc方法2:SELECT student.sno,sname,cno,grade运行结果:sno sname cno grad

6、e - - - - 200215123 王敏 NULL NULL200215124 张立 NULL NULL-3_22 查询所有学生选修课程的成绩。包括没有选课的学生。列出学号、姓名、课号、课名、成绩。SELECT student.sno,sname,sc o,cname,grade运行结果:sno sname cno cname grade - - - - - 200215123 王敏 NULL NULL NULL200215124 张立 NULL NULL NULL-自身连接: 一个表与其自己进行连接,称为表的自身连接-3_23 查询每一门课的间接先修课即先修课的先修课SELECT FIR

7、ST o 课号,SECOND.cpno 间接先修课FROM course FIRST,course SECOND-复合条件连接-3_24 查询选修2号课程且成绩在90分以上的所有学生的学号、姓名。SELECT student.sno, sname FROM student,sc WHERE student.sno = sc.sno /* 连接谓词*/ AND sc o=2 AND sc.grade 90 /* 其他限定条件*/-多表连接-3_25 查询每个学生的学号、姓名、课名及成绩。SELECT student.sno,sname,cname,gradeFROM student,sc,cou

8、rseWHERE student.sno = sc.sno and sc o = cours运行结果:sno sname cname grade - - - - 3 嵌套查询-3_26 查询与“刘晨在一个系学习的学生。-方法1: 不相关子查询(子查询的查询条件不依赖于父查询)select sno,sname,sdeptfrom student where sdept in -当内查询结果最多只有一个值时可用=代替in (select sdept from student where sname=刘晨) -3_27 查询所有姓名相同的学生。-方法1: 不相关子查询(子查询的查询条件不依赖于父查询

9、)select *from studentwhere sname in (select sname from student group by sname having count(*)1)order by sname,sno -3_28 查询选修了课程名为“信息系统的学生学号和姓名。-方法1:用嵌套查询(不相关子查询)SELECT sno,sname -最后在sudent关系中取出Sno和SnameFROM student WHERE sno IN (SELECT sno -然后在sc中找出选修了“信息系统所在课号的学生学号 FROM sc WHERE cno IN (SELECT cno

10、-首先在curse关系中找出“信息系统的课程号 FROM course WHERE cname=信息系统)-3_29 找出每个学生超过他选修课程平均成绩的学号、课号及成绩。SELECT x.* FROM sc x WHERE grade=(SELECT AVG(grade) FROM sc y WHERE y.sno=x.sno)运行结果:sno cno grade - - - -3_30 查询其他系中比计算机科学系某一学生年龄小的学生学号、姓名和年龄。-方法1:用any谓词 select sname,sage from student where sageany (select sage from student where sdept=cs) and sdep

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号