《数据库基础与应用》上机实验 实验二 查询对象的建立与使用

作者:电大作业代做  浏览量:1837  发布时间:2018-08-13  更新时间:2018-08-13  
实验二 查询对象的建立与使用


实验准备:

了解和掌握文字教材第8章的全部内容。

实验目的:

能够启动和进入Access数据库管理系统操作环境,能够打开一个数据库文件,能够利用数据库中的表建立用户所需要的各种查询对象,能够打开和关闭查询对象,能够对查询对象进行各种视图状态之间的转换。

实验要求:

按照下面“实验内容与步骤”完成本次实验。

实验内容和步骤:

下面上机操作题继续使用“实验一”上机操作题中建立的“学生成绩管理”数据库,以及在其中建立的学生表、教师表、课程表和选课表。

1.打开已经在“数据库课程实验”的文件夹中创建的“学生成绩管理”数据库。

2.使用向导创建简单查询,查找所有学生的姓名、性别和所在院系信息,保存此查询,名称为“学生信息简要查询”。查询结果如下图2-1所示。

学生信息简要查询
姓名 性别 所在院系
吴术 计算机技术
贺华峰 计算机技术
高明明 外语
刘书旺 经济管理
吴天天 经济管理
张实在 计算机技术
王凯 计算机技术
李明媚 计算机技术
陈洁 外语
学生信息简要查询
姓名 性别 所在院系
刘国庆 计算机技术
图2-1 “学生信息简要查询”的内容

3.使用向导创建多表连接查询,要求查找所有选课学生的学号、姓名、课程号、课程名和成绩信息。保存此查询,名称为“学生选课成绩查询”。查询结果如下图2-2所示。

学生信息简要查询
学号 姓名 课程号 课程名 成绩
201200010005 吴术 10010001 C语言程序设计 85
201200010005 吴术 10010002 数据库技术 90
201200010006 贺华峰 10010001 C语言程序设计 76
201200020007 高明明 10010003 计算机网络 65
201200020007 高明明 10020003 英语阅读 88
201300010001 张实在 10010002 数据库技术 94
201300010001 张实在 10010003 计算机网络 70
201200010005 张实在 10020003 英语阅读 84
201400010001 李明媚 10030001 会计学原理 68
201400010001 李明媚 10030002 统计学原理 80s
图2-2 “学生选课成绩查询”的内容

4.使用向导创建交叉表查询,查找学生表中每个院系的男女学生人数。保存此查询,名称为“学生男女人数统计查询”。查询结果如下图2-3所示。

学生男女人数统计查询
所在院系 总计 学号
计算机技术 6 5 1
经济管理 2 1 1
外语 2 2
图2-3 “学生男女人数统计查询”的内容

5.使用向导创建重复项查询,查询学生表中相同专业的学生信息。保存此查询,名称为“相同专业的学生信息查询”。查询结果如下图2-4所示。

相同专业的学生信息查询
学号 姓名 姓名 性别 入学年份 所在院系
财务管理 201200030008 吴天天 2012 经济管理
财务管理 201200030001 刘书旺 2012 经济管理
计算机信息管理 201400010003 刘国庆 2014 计算机技术
计算机信息管理 201400010001 李明媚 2014 计算机技术
计算机信息管理 201300010001 张实在 2013 计算机技术
软件技术 201300010002 201300010002 2013 计算机技术
软件技术 201200010006 贺华峰 2012 计算机技术
商务英语 201400010002 陈洁 2014 外语
商务英语 201200020007 高明明 2012 外语
图2-4 “相同专业的学生信息查询”的内容

6.使用向导创建不匹配项查询,查找没有选修课程的学生的学号、姓名和所在院系信息。保存此查询,名称为“没有选修课程的学生查询”。查询结果如下图2-5所示。

没有选修课程的学生查询
学号 姓名 所在院系
201200030001 刘书旺 经济管理
201200030008 吴天天 经济管理
201300010002 王凯 计算机技术
201400010002 陈洁 外语
201400010003 刘国庆 计算机技术
图2-5 “没有选修课程的学生查询”的内容

7.使用设计视图创建以下查询:

(1)查询计算机技术系所有女学生的信息。此查询设计网格如下图2-6所示。



图2-6查询计算机技术系所有女学生信息的查询设计网格

(2)查询课程成绩为90分及以上的学生姓名、课程名和成绩。此查询的设计视图如下图2-7所示。



图2-7查询课程成绩为90分及以上的学生姓名、课程名和成绩的设计视图

(3)查询“数据库技术”课程的平均成绩。此查询的设计视图如下图2-8所示。



图2-8查询“数据库技术”课程平均成绩的设计视图

(4)查询所有学生选修的每门课程的平均成绩。此查询的设计视图如下图2-9所示。



图2-9查询所有学生选修的每门课程平均成绩的设计视图

8.创建生成表查询,将所有 “外语”系的学生信息保存到一个新的名为“文科学生”表中。此查询的设计视图如下图2-10所示。



图2-10按要求创建生成表查询的设计视图

9.创建追加查询,将学生表中“经济管理”系的学生信息保存到 “文科学生”表中。此查询的设计视图如下图2-11所示。



图2-11按要求创建追加查询的设计视图

10.创建更新查询,将“文科学生”表中所在系为“外语”系改为“英语”系。 此查询的设计视图如下图2-12所示。



图2-12按要求创建更新查询的设计视图

11.创建参数查询,根据学生的学号,查询学生的姓名,所选修的课程号、课程名、修课学期和成绩。此查询的设计视图如下图2-13所示。



图2-13按要求创建单参数查询的设计视图

12.创建多参数查询,根据学生的学号和课程号,查询学生的姓名,所选修的课程名和成绩。此查询的设计视图如下图2-14所示。



图2-14按要求创建多参数查询的设计视图

13.使用SQL语句创建以下查询:

(1)查询每门课程的课程号、课程名、学分、任课教师名和职称。

  SELECT 课程号, 课程名, 学分, 教师姓名 as 任课教师名, 职称

  FROM 课程表 inner join 教师表 on 课程表.教工号=教师表.教工号;

(2)查询课程成绩在70分以下的学生姓名,课程名称和成绩。

  SELECT 姓名, 课程名, 成绩

  FROM 课程表 INNER JOIN (学生表 INNER JOIN 选课表 ON 学生表.学号 = 选课表.学号)

    ON 课程表.课程号 = 选课表.课程号

  WHERE 成绩<70;

(3)查询仅被一个学生选修的课程号、课程名和选修人数。

  SELECT 课程表.课程号, 课程名, count(*) as 选课人数

  FROM 课程表 INNER JOIN 选课表 ON 课程表.课程号 = 选课表.课程号

  group by 课程表.课程号, 课程名

  having count(*)=1;

(4)查询所有的课程中,课程平均成绩在75分及以上的课程号,课程名和平均成绩。

  SELECT 课程表.课程号, 课程名, avg(成绩) as 平均成绩

  FROM 课程表 INNER JOIN 选课表 ON 课程表.课程号 = 选课表.课程号

  group by 课程表.课程号, 课程名

  having avg(成绩)>=75;

相关文章