查询的创建与操作
- 格式:doc
- 大小:55.00 KB
- 文档页数:4
实验名称 查询设计与结构化查询语言SQL
一、实验目的
1. 理解查询的两种分类方法(单表与多表查询;选择、操作与特定查询)的依据;
2. 掌握在查询设计视图中建立查询的方法;
3. 掌握查询的几种主要视图的作用;
4. 掌握进入SQL代码窗口的方法;
5. 掌握SQL特定查询的使用;
6. 掌握SELECT查询,特别是分组计算查询、嵌入查询和连接查询的用法;
7. 掌握SQL操作查询的建立方法。
二、实验内容及步骤
1. 在查询设计视图中完成如下查询
预备:“教务管理”数据库”已经建立了学生、课程和成绩三个表,且建立了两个一对多关系。
1) 单表查询:查询入学成绩在555分元(含555分)以上的学生
[步骤]
在数据库窗口中选定“查询”对象→单击数据库窗口中的“新建”按钮→双击“设计视图”
选项→选择“学生”表→关闭;
……
2) 多表查询:查询课程成绩≧90的学生(要求显示姓名和课程名称)
[步骤]
在数据库窗口中选定“查询”对象→单击数据库窗口中的“新建”按钮→双击“设计视图”
选项→分别添加“成绩”表、“学生”表和“课程”表→关闭;
……
3) 交叉表查询:对成绩表做交叉表查询
[步骤]
在数据库窗口中选定“查询”对象→……
4) 预定义计算查询:对成绩表统计每个学生的平均成绩
[步骤]
在数据库窗口中选定“查询”对象→……
2. 进入SQL命令的编辑环境
[步骤]
1) 启动Access→新建一个的名为“教务管理备份”的空数据库”;
2) 在数据库窗口中选定“查询”对象→单击数据库窗口中的“新建”按钮→双击“设计视图”
选项→关闭“显示表”对话框;
3) 单击Access的“查询”菜单→SQL特定查询→数据定义,或者单击Access工具栏上的视图
按钮,即出现SQL命令的代码窗口。此时,可以在窗口中书写SQL命令以新建查询,当然也
能编辑和运行查询。
3. 数据定义:新建表并设置主键和关系+修改表结构
在“教务管理备份”库中分别创建“学生”表、“课程”表和“成绩”表,并分别
设置两个一对多关系。
预备: 新建一个名为“教务管理备份”的空数据库
1)使用SQL命令Create新建表并设置主键和关系
[步骤]
a) 打开新建SQL查询的命令窗口;
b) 输入建立“学生”表并设置学号为主键的SQL查询命令:
c) 运行上述查询并查看表结构(含主键设置)
d) 输入建立“课程”表并设置课程号为主键的SQL查询命令:
e) 运行上述查询并查看表结构(含主键设置);
f) 输入建立“成绩”表并分别通过“学号”、“课程号”两字段建立与“学生”表、“课程”
表的一对多关系的SQL命令:
g) 运行上述查询并在关系窗口中查看“成绩”表与“学生”表、“课程”表之间的关系。
2)
使用SQL命令alter修改表结构
[步骤]
h) 打开新建SQL查询的命令窗口;
i) 输入为“学生”表增加“年龄”字段的SQL查询命令(运行查询后查看结构的变化):
j) 输入删除“学生”表中“年龄”字段的SQL查询命令(运行查询后查看结构的变化):
k) 输入修改“学生”表中的“姓名”字段宽度为6的SQL查询命令(运行查询后查看结构的
变化):
4. 数据操作:使用SQL命令Insert|Update|Delte进行记录维护
[步骤]
1)写出对“学生”表追加一条新记录的SQL查询命令(只输入学号、姓名、性别和入学成绩四个字段值):
[ 与以前在查询设计视图中所做的的追加查询比较 ]
2)写出更新“学生”表中学院为“城建学院”的字段值为“城市建设学院”的SQL查询命令:
[ 结合相应的SQL语句,说明在查询设计视图中所做的工作 ]
3)写出删除“学生”表中姓名为“李明”的记录
[ 结合相应的SQL语句,说明在查询设计视图中所做的工作 ]
5. 数据查询:使用SQL命令Select建立的查询
[步骤]
1) 查询“读者信息表”中所有在2007年办证的记录。
SELECT
FROM 读者信息表
WHERE 办证日期 BETWEEN
2) 查询“图书信息表”中“高等教育出版社”和“科学出版社”的图书。
SELECT 书名,作者,出版社,价格 FROM 图书信息表;
WHERE 出版社 ("高等教育出版社", "科学出版社")
3) 统计“读者信息表”的读者人数。
SELECT AS 读者人数
FROM 读者信息表
4) 在“图书信息表”中查询各个出版社的图书最高价格、平均价格和册数。
SELECT 出版社,MAX(价格), ,
FROM 图书信息表 出版社
5) 查询“图书信息表”中价格最低的前20%的图书。
SELECT 书名,价格
FROM 图书信息表
ORDER BY
6) 从“图书信息表”、“读者信息表”和“借阅信息表”中,查询所有借书的读者所借图书的情况。
SELECT DZ.读者编号, 姓名, 性别, TS.图书编号, 书名, 作者, 借书日期, 还书日期
FROM 读者信息表 AS DZ, 图书信息表 AS TS, 借阅信息表 AS JY
WHERE
7) 从“图书信息表”和“图书类别表”中,查询“专业”图书的情况。
SELECT 图书编号, 书名, 作者, 出版社, 价格, 页码
FROM 图书信息表
WHERE 类别代码 =
( SELECT 类别代码
FROM 图书类别表
WHERE )
8) 从“读者信息表”和“借阅信息表”中,查询2007年借阅图书的读者情况。
SELECT 读者编号, 姓名, 性别, 联系电话, 工作单位
FROM 读者信息表
WHERE 读者编号 IN
( SELECT DISTINCT 读者编号
FROM 借阅信息表
WHERE )
三、实验小结
1. 在使用查询设计视图建立多表查询前是否应建立表间联系?
2. 试比较在查询设计视图中与在SQL视图中写条件的区别。
3. 使用SQL特定查询创建一对多关系时必须先建主表后从表吗?输入记录也是吗?
4. 使用SQL命令更新或插入数据记录时,能使用OLE字段吗?
5. Select查询语句中各短语的执行顺序是:范围→Where条件→Group By →Having条件→Order by
Select后接字段清单;
From后接查询的数据源;
Where后接筛选记录的条件;
Group by后接作为分组依据的字段;
Order by后接作为排序依据的字段。
6. 试比较连接查询的两种用法格式的区别
7. 总结嵌套查询连接查询的用法区别
8. 特殊的Select查询
参数查询:where条件中的某个常量在运行查询时给出,[提示信息]
自定义计算查询:使用AS短语虚拟字段
预定义计算查询:使用了系统提供的统计函数