授课 -7 查询

32
1 茂茂茂茂茂茂茂茂 授授 -7 授授 7.1 茂茂茂茂茂 7.2 茂茂茂茂茂 授授授授授授授授授授授 授授授授授授授授授 授授授授授 、。 授授授授授授授授授授授授授授授授 授授授授授授授授授授授 授授授 授授授授授 授授授授授授授 、。

Upload: reuel

Post on 23-Jan-2016

158 views

Category:

Documents


0 download

DESCRIPTION

授课 -7 查询. 本课介绍查询的基本概念、特点及其实现方法。查询可以对数据库中的多表按条件进行数据查询,它是关系型数据库管理系统必须具备的最基本、最重要的功能。. 7.1 查询的操作 7.2 交叉表查询. 7.1 查询的操作. 【 学习目标 】 用查询设计器建立查询 【 关键概念 】 查询. 【 任务(高新第 4.4 题) 】 操作要求 : 将 C:\2006vfp\Unit4 文件夹中的文件夹 Y4-04 复制到考生文件夹中,重命名为“ X4-04” ,然后新建项目管理器,命名为“项目 4-4” ,保存到文件夹 X4-04 中,完成下列操作。 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 授课 -7   查询

1茂名职业技术学院

授课 -7 查询

7.1 查询的操作

7.2 交叉表查询

本课介绍查询的基本概念、特点及其实现方法。查询可以对数据库中的多表按条件进行数据查询,它是关系型数据库管理系统必须具备的最基本、最重要的功能。

Page 2: 授课 -7   查询

2茂名职业技术学院

7.1 7.1 查询的操作查询的操作

【学习目标】 用查询设计器建立查询

【关键概念】 查询

Page 3: 授课 -7   查询

3茂名职业技术学院

【任务(高新第 4.4 题)】 操作要求 :

将 C:\2006vfp\Unit4 文件夹中的文件夹 Y4-04 复制到考生文件夹中,重命名为“ X4-04” ,然后新建项目管理器,命名为“项目 4-4” ,保存到文件夹 X4-04 中,完成下列操作。

1. 确定查询的数据源:新建一个“查询”,将 Y4_04A.dbf 、 Y4_04B.dbf 作

为查询的数据源。2. 建立数据源之间的关系:用 Y4_04A.dbf 中的“乡镇代码”字段与 Y4_04B.dbf

中的“乡镇代码”字段建立内部联接。

Page 4: 授课 -7   查询

4茂名职业技术学院

3. 设置查询字段及表达式:选择 Y4_04A.dbf 中的字段“乡镇”;选择 Y4_04B.dbf 中的字段“语文”、“数学”,“总

分”;参照样文 4-04A 所示,编辑显示“ Y4_04b. 总分”的

合计的表达式,并添加到选定字段中。 4. 指定查询的条件:

选择字段“ Y4_04a. 乡镇”为分组依据;筛选出“ Y4_04b. 总分”大于 500 的记录;选择字段“ Y4_04b. 总分”为排序依据,并要求降序

排列

Page 5: 授课 -7   查询

5茂名职业技术学院

样文 4-04A

样文 4-04B

Page 6: 授课 -7   查询

6茂名职业技术学院

5. 设置查询去向:将查询结果以“表”的方式保存至考生文件夹中,文件

名为“ X4_04A.dbf” 。运行查询,结果如样文 4-04B 所示。将 X4_04A.dbf 添加到“项目 4-4” 的“自由表”中。

6. 保存查询: 将“查询”命名为“查询 4_04.QPR” ,保存在考生文件夹 X4-04 中,并添加到“项目 4-4” 中。 任务要点: 添加表,建立联接,选择字段,确定筛选,设置去向,保存查询 等。

Page 7: 授课 -7   查询

7茂名职业技术学院

【相关知识】

* 查询是 VFP 快速获取记录结果的方法,查询设计器是将查询存储在表和视图中的工具。

* 创建查询有三种方法: • 利用查询设计器创建 • 利用查询向导创建 • 用 SQL 查询命令

Page 8: 授课 -7   查询

8茂名职业技术学院

1 .打开查询设计器 打开查询设计器的三种方法: (1) 使用命令 格式: CREATE QUERY 查询文件名 .QPR (2) 菜单方式 略 (3) 使用项目管理器 选择 [数据 ]选项卡下的 [查询 ]选项,然后单击[新建 ]按钮,见下页的图。

7.1.1 利用查询设计器建立查询

Page 9: 授课 -7   查询

9茂名职业技术学院

Page 10: 授课 -7   查询

10茂名职业技术学院

2 .添加表或视图 在此对话框中,将添加查询所依赖的自由表、数据库表或视图(一种“虚表”)。如果要在两个及两个以上的表中建立查询,添加表时还需建立两个表之间的联接关系。

Page 11: 授课 -7   查询

11茂名职业技术学院

3 .查询设计器窗口1)选取字段

Page 12: 授课 -7   查询

12茂名职业技术学院

表达式生成器操作步骤如下: ◆ 在查询设计器的“字段”选项卡中,单击“函数和表达式”右边的按钮,出现“表达式”生成器;

◆ 在“数学”下拉式列表框中双击 count ( expN ),生成了“ count(Xsb.zy)”这个表达式,用以计算各专业人数。

Page 13: 授课 -7   查询

13茂名职业技术学院

2 )联接条件 左边的表为父表,右边的表为子表。可以在列表中选择字段连

接。

Page 14: 授课 -7   查询

14茂名职业技术学院

【相关知识 --联接类型】 • 内部联接(通常使用):只列出两个表中的字段

相匹配的记录,即两表记录的交集。 • 左联接:列出左边的字段列表中的所有记录。若根据联接条件,在右边表中无匹配的记录,则在查询中相应列出现 NULL 。

• 右联接:和左联接正好相反。 • 完全联接:列出两个表中的所有记录,即两表记

录的并集。

Page 15: 授课 -7   查询

15茂名职业技术学院

3 )筛选记录 选择表中符合条件的一部分记录而不是全

部记录是查询的最为重要的任务。

选择筛选字段 设置筛选条件 输入筛选实例 设置条件逻辑是否区分大小写

Page 16: 授课 -7   查询

16茂名职业技术学院

筛选记录最为重要的是设置筛选的逻辑表达式,使用 VFP提供的“ In” 、“ Between” 可以简化书写。

4)排序 (略)

Page 17: 授课 -7   查询

17茂名职业技术学院

5)建立分组查询 所谓分组就是将一组类似的记录压缩成一

个结果记录,这样就可完成基于一组记录的计算。分组在与某些累计功能联合使用时效果最好,例如 SUM() , COUNT() , AVG() 等。

一般,如果不想压缩结果记录,则不必设置它。在此例中不设分组查询。如果想求各专业的人数,可以“ zy” 为分组字段进行分组。

Page 18: 授课 -7   查询

18茂名职业技术学院

6)杂项的设置 经过以上四个步骤,基本上已生成了一个比较全面的查询。接下来还可以通过查询设计器中的“杂项”选项卡做最后处理。

单击“杂项”选项卡,可以看到其间包括“无重复记录”、“交叉数据表”、“全部”、“百分比”这四个复选框和一个微调按钮。

Page 19: 授课 -7   查询

19茂名职业技术学院

7 )定向输出查询结果 查询检索的信息,可以输出到不同的目的地,以用作不同的用途。如果没有选定输出的目的地,查询结果将显示在浏览窗口中。查询输出目的可以是浏览窗口、临时表、表、图形、屏幕、报表、标签等。选择结果的去向方法如下:

单击“查询设计器工具”中的【查询去向】按钮,或者从【查询】菜单中选择【查询去向】,可看到如图所示的“查询去向”对话框。

Page 20: 授课 -7   查询

20茂名职业技术学院

7.1.2 运行查询 在完成了查询的设计工作并指定了结果输出去向后,可通

过以下五种方式之一运行查询:■单击系统常用菜单上的“运行”按钮。■在查询设计器区域内单击右键,在弹出菜单中选择“运行

查询”;■在“项目管理器”中选定查询的名称,然后选定“运行”

按钮;■在“查询”菜单中选择“运行查询”:■在命令窗口中键入: DO <查询名 >.qpr。

Page 21: 授课 -7   查询

21茂名职业技术学院

7.1.3 7.1.3 查询操作示例查询操作示例例: 利用 cjk数据库中的 xsb.dbf、 kcb.dbf和 cjb.dbf表,查

询 “计算机应用”专业同学的“ C语言”、“ VFP程序设计”课程的成绩(成绩在 70 ~ 89分之间)。

输出字段: xh(学号)、 xm(姓名)、 xb(性别)、 zy (专业) 、 kh(课号) 、 kc (课程)、 xnxq(学年学期)、 cj(成绩) 。 结果按学号的升序排列,结果输出到 cjqb 的 表文件中。 操作: 先打开数据库,创建查询,选择表, 之后,按查询设计器选项的顺序去做, 筛选……。 运行查询, 结果如图。

Page 22: 授课 -7   查询

22茂名职业技术学院

【操作练习】任务(高新 4.4 题)的操作过程示意及结果。

Page 23: 授课 -7   查询

23茂名职业技术学院

7.2 7.2 交叉表查询交叉表查询【学习目标】 用查询向导创建交叉表查询

【关键概念】 查询向导 交叉表

Page 24: 授课 -7   查询

24茂名职业技术学院

7.2.1 查询向导1.启动查询向导 1 )菜单方式:选择菜单【文件】→【新建】→在“新建”对话框

中选择“文件类型”中的【查询】选项,然后单击【向导】按钮 。 2 )在项目管理器中:选择【数据】卡片中的“查询”,然后单击

【新建】按钮,则出现设计查询的方式选择对话框。

Page 25: 授课 -7   查询

25茂名职业技术学院

2. 在向导指引下操作: 1)字段选取,……。

以后操作与设计器相仿,略。

Page 26: 授课 -7   查询

26茂名职业技术学院

7.2.2 用交叉表向导设计交叉表查询 有时候需要统计交叉数据。所谓交叉表

(又称数据透视表)是指从另一角度去观察或计算源表的内容。例如,在学生表中需要按专业统计各地学生的人数,就可用交叉表来建立查询。

●使用交叉表建立查询的步骤: 1.启动交叉表向导 2. 字段选取 3. 定义布局 4. 加入总结信息 5. 完成

Page 27: 授课 -7   查询

27茂名职业技术学院

1.启动交叉向导

Page 28: 授课 -7   查询

28茂名职业技术学院

2. 字段选取 基本上同查询设计向导中的“字段选取”

相同,但交叉表中只能从一个表(视图)中选定字段(选三个字段)。

Page 29: 授课 -7   查询

29茂名职业技术学院

3. 定义布局 确定交叉表中的行和列,将选定的字段拖

到相应位置处。

Page 30: 授课 -7   查询

30茂名职业技术学院

4. 加入总结信息 达到统计目的。

Page 31: 授课 -7   查询

31茂名职业技术学院

5. 完成

得到的结果:

Page 32: 授课 -7   查询

32茂名职业技术学院

【本课小结】使用查询设计器创建查询的步骤概括: 1 )选定查询字段 2 )设置联接 (一父一子) 3 )筛选记录(会使用: bettwen 、 in ) 4 )结果排序 5 )建立分组查询 6 )杂项的设置 7 )定向输出查询结果

【作业】 ( 1)使用查询设计器完成例题的查询。 ( 2)使用查询设计器完成高新考试第 4.4 题(上机 7 )。

返回本课目录