南邮数据库实验报告[骄阳教育]_第1页
南邮数据库实验报告[骄阳教育]_第2页
南邮数据库实验报告[骄阳教育]_第3页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、课内实验报告课 程 名: 数据库原理与应用 任课教师: 程录庆 专 业: 信息管理与信息系统 学 号: B13111513 姓 名: 解一涵 二一四 至二一五年度 第二学期南京邮电大学 管理学院数据库原理与应用课程实验报告实验内容及基本要求: 实验项目名称:学生成绩管理数据库的建立实验类型:上机实验实验内容及要求:1、构建一个教学管理关系数据库如下:学生(学号,姓名,性别,年龄,籍贯,班级代号)课程(课程号,课程名称,学分数,教师代号)成绩(学号,课程号,成绩,考试时间)教师(教师代号,姓名,性别,年龄,职称)为方便起见,上述关系用英文字母表示如下:S(SNO,NAME,SEX,AGE,JG,

2、CLASSNO)C(CNO,CNAME,XF,TNO)G(SNO,CNO,GRADE,DATE)T(TNO,NAME,SEX,AGE,ZC)2、上述关系模式中,带下划线的属性为各自关系的关键字,其中学生表输入20条记录;课程表输入10条记录;成绩表输入100条记录;教师表入5条记录。基于这些关系表,做如下查询:(1) 找出男性学生的姓名(2) 找出不是“2031”班的学生(3) 查询“李峰”老师所教课程的课程名称和学分(4) 检索出选修了课程代号为“c11”和“c23”课程的学生(5) 查询至少选修了一门“李峰”老师的课程的学生姓名(6) 求选修了课程名为“数据库原理”的所有学生的学号和姓名(

3、7) 找出学生代号为“S101”和“S102”两个学生都选修了的课程(8) 检索出没有被任何学生选修的课程(9) 求出每个学生的成绩的平均分和总分(10) 求至少三门以上课程成绩在90分以上的学生学号(11) 求获得学分数在200以上的学生(12) 求出少于10个学生选修的课程(13) 求出有四门课程考试不及格的学生的姓名(14) 求出每个老师所教课程的学分总数(15) 求出教了三门课以上的老师(16) 求出只教一门课程的老师(17) 求出每一个班级中每一门课程获得最高分的学生的学号实验结果:1、 数据库表(1)学生表(2) 课程表(3) 成绩表(4) 教师表2、查询结果及SQL语言(1)找出

4、男性学生的姓名SELECT NAMEFROM SWHERE XB=男;(2) 找出不是“2031”班的学生SELECT *FROM SWHERE SNO NOT IN(SELECT SNOFROM SWHERE CLASSNO=B131115);(3) 查询“李峰”老师所教课程的课程名称和学分SELECT CNAME, XFFROM T, CWHERE NAME=李峰 And T.TNO=C.TNO;(4) 检索出选修了课程代号为“c11”和“c23”课程的学生SELECT SNOFROM GWHERE CNO In (1,2);(5) 查询至少选修了一门“李峰”老师的课程的学生姓名SELEC

5、T S.NAME, S.SNOFROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON G.CNO=C.CNOWHERE G.CNO=6 Or G.CNO=7GROUP BY S.NAME, S.SNO;(6) 求选修了课程名为“数据库原理”的所有学生的学号和姓名SELECT S.SNO, S.NAMEFROM S INNER JOIN G ON S.SNO=G.SNOWHERE (G.CNO)=1);(7) 找出学生代号为“S101”和“S102”两个学生都选修了的课程SELECT S.SNO, G.CNO, C.CNAMEFROM (S IN

6、NER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON G.CNO=C.CNOWHERE S.SNO LIKEB13111502 AND Exists (SELECT* FROM G AS G2 WHERE G.CNO=G2.CNO AND G2.SNO LIKEB13111510)False;(8) 检索出没有被任何学生选修的课程SELECT *FROM CWHERE C.CNO NOT IN (SELECT G.CNO FROM G);(9) 求出每个学生的成绩的平均分和总分SELECT S.SNO, Avg(G.GRADE) AS 平均分, Sum(G.GR

7、ADE) AS 总分FROM S INNER JOIN G ON S.SNO=G.SNOGROUP BY S.SNO;(10) 求至少三门以上课程成绩在90分以上的学生学号SELECT S.NAME, S.SNO, Count(G.GRADE) AS GRADE之计数FROM S INNER JOIN G ON S.SNO=G.SNOWHERE (G.GRADE)90)GROUP BY S.NAME, S.SNOHAVING (COUNT(G.GRADE)2);(11) 求获得学分数在200以上的学生SELECT S.SNO, S.NAME, Sum(G.GRADE) AS GREAT之总计F

8、ROM S INNER JOIN G ON S.SNO=G.SNOGROUP BY S.SNO, S.NAMEHAVING Sum(G.GRADE)200;(12) 求出少于10个学生选修的课程SELECT C.CNAME, C.CNO, Count(G.GRADE) AS GRADE之计数FROM (S INNER JOIN G ON S.SNO=G.SNO) INNER JOIN C ON G.CNO=C.CNOGROUP BY C.CNAME, C.CNOHAVING (Count(G.GRADE)10);(13) 求出有四门课程考试不及格的学生的姓名SELECT S.NAME, Cou

9、nt(G.GRADE) AS GRADE之计数FROM S INNER JOIN G ON S.SNO=G.SNOWHERE (G.GRADE)=3);(16) 求出只教一门课程的老师SELECT T.NAME, T.TNO, Count(C.CNO) AS CNO之计数FROM T INNER JOIN C ON T.TNO=C.TNOGROUP BY T.NAME, T.TNOHAVING (Count(C.CNO)=1);(17) 求出每一个班级中每一门课程获得最高分的学生的学号SELECT S.CLASSNO, G.CNO, Max(G.GRADE) AS 最高分FROM S INNER JOIN G ON S.SNO=G.SNOGROUP BY S.CL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论