预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

贵州大学实验报告 学院:专业:班级: 姓名学号实验组 实验时间指导教师成绩 实验课程名称数据库系统原理 实验项目名称数据库操作语言(2) 实 验1.掌握SQL中的连接查询和嵌套查询。 目2.掌握SQL中的集合查询和基于派生表的查询。 的 实 验 安装金仓数据库或SQLServer2008的计算机 仪 器 1.执行本次实验预先准备好的sql脚本,准备好实验数据(如已有实验数据,则可忽 略此步骤)。 2.①查询每个学生及其选修课程的情况: 实 SELECTStudent.*,SC.* 验 FROMStudent,SC 内 WHEREStudent.Sno=SC.Sno; 容 上述查询结构中有重复的数据项,如何改进? 和 ②查询选修2号课程且成绩在90分以上的所有学生的学号和姓名: 步 SELECTStudent.Sno,Sname 骤 FROMStudent,SC WHEREStudent.Sno=SC.SnoAND SC.Cno='2'ANDSC.Grade>90; ③使用外连接改写①中的任务: 1 SELECTStudent.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudentLEFTJOINSCON (Student.Sno=SC.Sno); 此处关键词OUT需删掉 ④查询每个学生的学号、姓名、选修的课程名及成绩: SELECTStudent.Sno,Sname,Cname,Grade FROMStudent,SC,Course/*多表连接*/ WHEREStudent.Sno=SC.Sno ANDSC.Cno=Course.Cno; ⑤找出每个学生超过他选修课程平均成绩的课程号: SELECTSno,Cno FROMSCx WHEREGrade>=(SELECTAVG(Grade) FROMSCy WHEREy.Sno=x.Sno); ⑥查询非计算机科学系中比计算机科学系所有学生年龄都小的学生姓名及年龄: SELECTSname,Sage FROMStudent WHERESage<ALL (SELECTSage FROMStudent WHERESdept='CS') ANDSdept<>'CS’; 3.①查询选修了课程1或者选修了课程2的学生: SELECTSno FROMSC WHERECno='1' UNION SELECTSno 2 FROMSC WHERECno='2'; ②查询计算机科学系的学生与年龄不大于19岁的学生的差集: SELECT* FROMStudent WHERESdept='CS' EXCEPT SELECT* FROMStudent WHERESage<=19; ③查询所有选修了1号课程的学生姓名,可以用如下查询完成: SELECTSname FROMStudent, (SELECTSnoFROMSCWHERECno='1')ASSC1 WHEREStudent.Sno=SC1.Sno; 实验内容与步骤2 ① 实 验 分 析 与 ② 研 究 3 ③ ④ ⑤ ⑥ 实验内容与步骤3 ① ② 4 ③ 实 验 总 结 指 导 教 师 意 见签名:年月日 注:各学院可根据教学需要对以上栏木进行增减。表格内容可根据内容扩充。 5