vfpch6-第6章查询和视图1.
合集下载
Visual FoxPro第六章 查询
查询--设计查询
排序 筛选 分组 删除重复记录 显示一定的记录数目
查询--设计查询
多表查询 联接类型: 1。内部联接 表示要创建一个只包含满足条件的记录。 2。左联接 表示要创建一个包含左表的所有记录与右表相匹配的 记录。 3。右联接 表示要创建一个包含右表的所有记录与左表相匹配的 记录。 4。完全联接 表示要创建一个包含两表的所有记录。
查询--SQL命令
7)GROUP BY GroupColumn [, GroupColumn ...] [HAVING FilterCondition] GROUP BY子句用于指定分组依据,它根据关 BY 键字段值进行分类合并(计算),并在查询结 果中产生新的记录行。 8 ) ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ……] ORDER BY子句用于指定排序依据。
查询--SQL命令
主要参数说明 1)ALL:显示查询结果中的所有记录行(默认 值)。 DISTINCT:在查询结果中去掉所有重 复的记录。 2)TOP nExpr [PERCENT]:指定查询结果中列 在前面的记录数或百分比行数。 3)[Alias.] Select_Item [AS Column_Name][, [Alias.] Select_Item [AS Column_Name] ...]: 选择在查询结果中要显示的字段。
第六章 查询
主讲:曹冬林
查询
查询 对数据库提出的关于在表或视图中查找 信息的问题或询问。 VFP查询 对存储在表或视图中的信息提出询问, 利用VFP查询工具可以设计和创建询问信 息的方法。
查询--创建查询
1. 2. 3. 4. 5. 6. 7.
Visual FoxPro6.0程序设计教程第六章 查询与视图
6.1.2 用查询设计器建立查询
1、启动查询设计器 若要使用数据库表,应在启动查询设计器之前先打开数据库
(1)在“项目管理器”中
(2)在“文件”菜单中选择“新建” (3) create query <文件名>
6.1 查询
6.1.2 用查询设计器建立查询
2、查询设计器的组成
字段:SELECT语句要输出的字段; 联接:若要查多个表,则在该项中生成联接表达式,对应与JOIN ON 短语,用于编辑连接条件; 筛选:生成WHERE子句; 排序依据:生成ORDER BY子句;
6.1 查询
6.1.4 查询设计器的局限性
• 注意:查询设计器只能建立一些比较规则的查 询,而复杂的查询它就无能为力了。
6.1 查询
6.1.5 运行查询
查询文件是一个扩展名为 .qpr的独立的文本文件,它不依 赖于数据库而存在。查询文件建立后,就可以运行查询, 以获得查询结果。
6.1 查询
第六章 查询与视图
6.1 查询 6.2 视图
查询和视图是检索和操作数据库的两个基本手段,两者都 是为快速、方便地使用数据库中的数据提供的一种方法 查询和视图都可以从一个或多个相关联的数据库中提取有 用的信息。 查询是根据用户给定的条件,输出符合查询条件的数据的 操作过程。查询可以根据表或视图的定义完成,它可以不 依赖于数据库而独立存在,可以显示但不能更新由查询检 索到的数据。 视图兼有表和查询的特点,也是通过一定的数据源提取符 合条件的数据。与查询不同的是,视图中的数据可以修改 并且可以反映到数据源上。 同时视图不能独立存在,必 须依赖于某一个数据库。
例6.2:在例6.1的基础上为查询增加查询计算表达式:工资*12 作为年工资。
1、启动查询设计器 若要使用数据库表,应在启动查询设计器之前先打开数据库
(1)在“项目管理器”中
(2)在“文件”菜单中选择“新建” (3) create query <文件名>
6.1 查询
6.1.2 用查询设计器建立查询
2、查询设计器的组成
字段:SELECT语句要输出的字段; 联接:若要查多个表,则在该项中生成联接表达式,对应与JOIN ON 短语,用于编辑连接条件; 筛选:生成WHERE子句; 排序依据:生成ORDER BY子句;
6.1 查询
6.1.4 查询设计器的局限性
• 注意:查询设计器只能建立一些比较规则的查 询,而复杂的查询它就无能为力了。
6.1 查询
6.1.5 运行查询
查询文件是一个扩展名为 .qpr的独立的文本文件,它不依 赖于数据库而存在。查询文件建立后,就可以运行查询, 以获得查询结果。
6.1 查询
第六章 查询与视图
6.1 查询 6.2 视图
查询和视图是检索和操作数据库的两个基本手段,两者都 是为快速、方便地使用数据库中的数据提供的一种方法 查询和视图都可以从一个或多个相关联的数据库中提取有 用的信息。 查询是根据用户给定的条件,输出符合查询条件的数据的 操作过程。查询可以根据表或视图的定义完成,它可以不 依赖于数据库而独立存在,可以显示但不能更新由查询检 索到的数据。 视图兼有表和查询的特点,也是通过一定的数据源提取符 合条件的数据。与查询不同的是,视图中的数据可以修改 并且可以反映到数据源上。 同时视图不能独立存在,必 须依赖于某一个数据库。
例6.2:在例6.1的基础上为查询增加查询计算表达式:工资*12 作为年工资。
第6章 视图与查询 (1)
② 设计步骤:
• 1)选取字段;2)关联表;3)确定包含记录; • 4)筛选记录;5)排序记录;6)限制记录;7)保存视图。 返回
6.1 视图的建立、查看与修改
2、利用“视图设计器”创建
1) 调出视图设计器
• [文件]-[新建]-[视图]
• [数据库]-[新建本地视图]-[新建视图]
• 在调出视图设计器的同时,可把表或视图添加到视 图设计器中,并把它们显示在设计器的上半部
返回
查看SQL语言
在视图设计器空白处按 右键,选择“查看SQL”即 可获得:
返回
6.1 视图的建立、查看与修改
【例6-3】在stu1数据库中基于“学生选课”和“课程”表 建立一个名为“课程平均成绩2”视图,输出字段为“课 程名”以及该课程的平均成绩。(多表视图)
– 在stu1数据库中新建一个视图,弹出“添加表或视图”对话框。 – 从“添加表或视图”对话框中选择“学生选课”表和“课程”表, 联接条件为“学生选课.课程ID”与“课程.课程ID”。 – 单击“关闭”后,弹出“视图设计器”窗口。从“字段”选项卡 的“可用字段”栏中选“课程.课程ID”,并单击“添加”按钮。 在“函数和表达式”文本框中填入“AVG(学生选课.成绩) as 平 均成绩”,并单击“添加”按钮。 – 单击“分组依据”选项卡,从“可用字段”中选“课程.课程 名”,并单击“添加”按钮。
• 视图设计器的选项卡
2) 选择自由表也可以创建视图
• 在“添加表或视图”对话框中单击“其他”按 钮…… 返回
6.1 视图的建立、查看与修改
3、视图的保存与浏览
浏览视图: – 单击工具栏红色感叹号! – 或在视图设计器中右击,选择“运行查询” – 或选择菜单[查询]-[运行查询] 保存视图: – 选择菜单[文件]-[关闭] – 或单击工具栏“保存”按钮
VFP 6.0第6章查询和视图
15
2.修改视图 (1)在项目管理器中选定相应的视图,单击 “修改”按钮,以打开“视图设计器”进行修改。 (2)命令格式:modify view <视图文件名> [remote] 3. 删除视图 可以使用项目管理器或DELETE VIEW命令 从数据库中删除视图。 若要删除视图,方法有2种: (1)在项目管理器中选择一个数据库,再选择 要删除的视图,然后选择“移去”。 (2)使用DELETE VIEW命令。
14
6.2.2 维护视图 1.重新命名视图 可以使用项目管理器或RENAME VIEW命 令重新命名视图。 若要更改视图的名称,方法有2种: (1)在项目管理器中选择一个数据库,再选择 要重新命名的视图,然后从“项目”菜单中选择 “重命名文件”。 (2)使用RENAME VIEW命令。 RENAME VIEW ksdaview to ksdaallview
5
5.运行查询 若要查看生成的查询程序,即SELECT语句,可 使用“查询”菜单中的“查看SQL”选项。 6.1.3 向应用程序中添加查询 1.添加查询 可以用查询设计器或视图设计器构造此语句,然 后将SQL窗口中的内容复制到代码窗口中。或者 直接键入SELECT语句。 使用SELECT语句的各个子句,可以指定多种不 同的输出目标来保存查询的结果。
16
6.2.3 远程视图和连接 1.连接远程数据源 2.定义连接 3.创建远程视图
17
6.2.4 视图与数据更新 视图建好后,用户可以通过视图对原有数据库表 中的记录进行修改。通过设置视图设计器的“更 新”选项卡来实现的。 (1)“字段名”列表框 (2)“重置关键字”按钮 (3)“全部更新”按钮 (4)“发送SQL更新”复选框 例6.13 利用职工工资视图更新助教何宗琳和职 称为讲师。
VFP第6章 查询和视图设计
RENAME VIEW<原视图文件名> TO <目标视图文件 名>
该命令重命名视图。 (2)
MODIFY VIEW <视图文件名>\[REMOTE\] 该命令打开“视图设计器”修改视图。 (3)
DELETE VIEW <视图文件名> 17
谢谢!
3. 如果在“排序依据”选项卡中不设置排序条件,则显示结果按
表中记录顺序显示。现要求记录按“入学成绩”的升序显示, 因此在“选定字段”列表框中选择“入学成绩”字段,再单 击“添加”按钮,将其添加到“排序条件”列表框中,再选 择“排序选项”的“升序”单选按钮。
6
Visual FoxPro
4. 查询设计完成后,选择系统菜单中“文件”下拉菜单的“另存
由此可见,“查询设计器”实际上是SELECT命令的图形化界
面。
5
Visual FoxPro
6.1.2
1. 启动查询设计器,并将学生表添加到查询设计器中。
2. 在查询设计器中单击“字段”选项卡,从“可用字段”列表框
中选择“学号”字段,再单击“添加”按钮,将其添加到 “选定字段”列表框中。使用上述方法将“姓名”、“出生 日期”和“入学成绩”字段添加到“选定字段”列表框中, 这4个字段即为查询结果中要显示的字段。显示结果中显示 字段的顺序,用鼠标拖动选定的字段左边的小方块,上下移 动,即可调整字段的显示顺序。
视图只存放相应的数据逻辑关系,并 不保存记录的内容,但可以在视图中改变记 录的值,然后将更新结果返回到原表。
12Visual FoFra bibliotekPro 6.2.2
1.
(1)在系统菜单中,选择“文件”中的“新建”选 项,打开“新建”对话框。
该命令重命名视图。 (2)
MODIFY VIEW <视图文件名>\[REMOTE\] 该命令打开“视图设计器”修改视图。 (3)
DELETE VIEW <视图文件名> 17
谢谢!
3. 如果在“排序依据”选项卡中不设置排序条件,则显示结果按
表中记录顺序显示。现要求记录按“入学成绩”的升序显示, 因此在“选定字段”列表框中选择“入学成绩”字段,再单 击“添加”按钮,将其添加到“排序条件”列表框中,再选 择“排序选项”的“升序”单选按钮。
6
Visual FoxPro
4. 查询设计完成后,选择系统菜单中“文件”下拉菜单的“另存
由此可见,“查询设计器”实际上是SELECT命令的图形化界
面。
5
Visual FoxPro
6.1.2
1. 启动查询设计器,并将学生表添加到查询设计器中。
2. 在查询设计器中单击“字段”选项卡,从“可用字段”列表框
中选择“学号”字段,再单击“添加”按钮,将其添加到 “选定字段”列表框中。使用上述方法将“姓名”、“出生 日期”和“入学成绩”字段添加到“选定字段”列表框中, 这4个字段即为查询结果中要显示的字段。显示结果中显示 字段的顺序,用鼠标拖动选定的字段左边的小方块,上下移 动,即可调整字段的显示顺序。
视图只存放相应的数据逻辑关系,并 不保存记录的内容,但可以在视图中改变记 录的值,然后将更新结果返回到原表。
12Visual FoFra bibliotekPro 6.2.2
1.
(1)在系统菜单中,选择“文件”中的“新建”选 项,打开“新建”对话框。
第6章授课 VFP查询和视图
6.1.2 用查询向导创建查询
利用“查询向导”创建查询,用户只要按照向导 提示的步骤,逐步回答向导提出的问题,就可以正 确地建立查询。
【例6.1】建立一个查询文件,检索“学生管理” 数据库的STUDENT表中所有“计算机应用”专业的学 生记录,以学号排序,查询结果中只包含“学号”、 “姓名”、“性别”、“籍贯”、“出生日期”和 “专业”字段。
6.1.3 用查询设计器创建查询
查询向导是一种简单、实用的查询设计工具,但 是它有较大的局限性,例如,所设计的查询结果中 不能输出除了字段外的表达式,不能进行分组汇总, 只能将查询结果输出到“浏览”窗口进行显示等。 下面介绍功能更强的查询设计器。
用查询设计器设计查询,实际上就是通过相对简 单直观的操作,按SQL SELECT语句的语法规则,建 立扩展名为.QPR的查询文件,设计出功能复杂的查 询,运行查询文件即相当于执行相应的SQL语句。
6.1.4 输出重定向
系统默认情况下,查询结果将输出到“浏览”窗 口中,如果想设置成其他的输出去向,可以打开 “查询设计器”窗口,然后执行“查询”→“查询 去向”菜单命令,打开“查询去向”对话框后选定 一种查询去向,然后单击 按钮。
6.2 视 图
视图有两种类型:本地视图和远程视图。 视图与查询区别: ①查询是一个独立的文件,而视图不以单独的文件形式 存在,它只是某个数据库的一部分。 ② 视图无“查询去向”而查询有。 ③ 视图可以更新源表而查询不能。
在查询设计器中建立了查询后,系统会根据用户在查询 设计器中所做的设置,自动产生与之相应的SQL SELECT语句。 若想查看系统自动产生的SQL SELECT语句,可以在打开“查 询设计器”窗口后,执行“查询”→“查看SQL”菜单命令, 即可看到一条只读SQL语句。
第6章查询与视图
12
在设置筛选条件时,我们应注意如下几点: 在设置筛选条件时,我们应注意如下几点: ( 1) 备注字段和通用字段不能用于设置查询条 ) 件; (2)逻辑值的前后必须使用句点号,如.T.; )逻辑值的前后必须使用句点号, ; (3) 只有当字符串与查询的表中字段名相同时 , ) 只有当字符串与查询的表中字段名相同时, 要用引号将字符串括起来, 要用引号将字符串括起来,否则不需要用引号 将字符串括起来; 将字符串括起来; (4)日期不必用花括号括起来。 )日期不必用花括号括起来。
13
三、交叉表查询
(以查询 “GZ表”中各职工每个月的基本 表 工资并计算两个月的基本工资总和为例) 工资并计算两个月的基本工资总和为例)查 询向导—交叉表查询 询向导 交叉表查询 步骤:选取字段( 步骤:选取字段(注:只能从一个表中选择 3个字段)—定义布局 加入总结信息 个字段) 定义布局 定义布局—加入总结信息 个字段
16
选择结果的去向方法如下: 选择结果的去向方法如下: 单击“查询设计器工具”中的【查询去向】 单击“查询设计器工具”中的【查询去向】按 或者从【查询】菜单中选择【查询去向】, 钮,或者从【查询】菜单中选择【查询去向】, 可看到如图所示的“查询去向”对话框。 可看到如图所示的“查询去向”对话框。
17
如果不想加入总结信息,可以在“分类汇总” 如果不想加入总结信息,可以在“分类汇总” 中选择“无”。 中选择“
15
四、查询检索的信息,可以输出到不同 查询检索的信息, 的目的地,以用作不同的用途。 的目的地,以用作不同的用途。如:浏 览窗口、临时表、 图形、屏幕、 览窗口、临时表、表、图形、屏幕、报 标签等。若没有选定输出的目的地, 表、标签等。若没有选定输出的目的地, 查询结果将显示在浏览窗口中。 查询结果将显示在浏览窗口中。
VF06查询和视图
★播放演示
2、用“查询向导”创建查询
(1)打开“查询向导”。 (2)在“向导选取”对话框中选择要使用的向导类型。 (3)单击“确定”按钮,弹出“查询向导”窗口,选 择查询时所用的字段,单击“下一步”按钮。 (4)在“查询向导步骤3-筛选记录”中设置记录筛选 条件,单击“下一步”按钮。 (5)在“查询向导步骤4-排序记录”中设置排序的字 段和排序方式,单击“下一步”按钮。 (6)在“查询向导步骤5-完成”中选择“保存查询”, 单击“完成”按钮,在“另存为”对话框中输入查询 名称,保存查询。
6.2 查询
“查询” 是VFP支持的一种数据库对象,或者说
是VFP为方便检索数据提供的一种工具或方法。
6.2.1 建立查询 在VFP中利用“查询设计器”和“查询向导”可以 方便地设计查询,但它们的基础是SQL SELECT语 句。
1、利用“查询设计器”创建查询
2、用“查询向导”创建查询
1、利用“查询设计器”创建查询
“SQL WHERE 子句包括”框中的各选项的含义如下: (1)关键字段:当基本表中的关键字字段被改变时, 则更新失败。 (2)关键字和可更新字段:当基本表中任何被标记 为可更新的字段被改变时,则更新失败。 (3)关键字和已修改字段:当在视图中改变的任一 字段的值在基本表中已被改变时,则更新失败。 (4)关键字和时间戳:当远程表上记录的时间戳在 首次检索之后被改变时,则更新失败。此项选择 仅当远程表有时间戳列时才有效。
6.3 视图
根据视图中数据来源的不同,视图可以分 为本地视图和远程视图。 创建视图和创建查询的过程相类似,主要 的差别在于视图是可以更新的,而查询是 不可以更新的。如果想从本地或远程表中 提取一组数据,并且想更新这组数据,就 需要使用视图。
2、用“查询向导”创建查询
(1)打开“查询向导”。 (2)在“向导选取”对话框中选择要使用的向导类型。 (3)单击“确定”按钮,弹出“查询向导”窗口,选 择查询时所用的字段,单击“下一步”按钮。 (4)在“查询向导步骤3-筛选记录”中设置记录筛选 条件,单击“下一步”按钮。 (5)在“查询向导步骤4-排序记录”中设置排序的字 段和排序方式,单击“下一步”按钮。 (6)在“查询向导步骤5-完成”中选择“保存查询”, 单击“完成”按钮,在“另存为”对话框中输入查询 名称,保存查询。
6.2 查询
“查询” 是VFP支持的一种数据库对象,或者说
是VFP为方便检索数据提供的一种工具或方法。
6.2.1 建立查询 在VFP中利用“查询设计器”和“查询向导”可以 方便地设计查询,但它们的基础是SQL SELECT语 句。
1、利用“查询设计器”创建查询
2、用“查询向导”创建查询
1、利用“查询设计器”创建查询
“SQL WHERE 子句包括”框中的各选项的含义如下: (1)关键字段:当基本表中的关键字字段被改变时, 则更新失败。 (2)关键字和可更新字段:当基本表中任何被标记 为可更新的字段被改变时,则更新失败。 (3)关键字和已修改字段:当在视图中改变的任一 字段的值在基本表中已被改变时,则更新失败。 (4)关键字和时间戳:当远程表上记录的时间戳在 首次检索之后被改变时,则更新失败。此项选择 仅当远程表有时间戳列时才有效。
6.3 视图
根据视图中数据来源的不同,视图可以分 为本地视图和远程视图。 创建视图和创建查询的过程相类似,主要 的差别在于视图是可以更新的,而查询是 不可以更新的。如果想从本地或远程表中 提取一组数据,并且想更新这组数据,就 需要使用视图。
Visual FoxPro-第6章_查询与视图设计
6.1 查询
6.1.4 查询文件的修改和关闭
(1) 查询文件的修改 • “文件”菜单中“打开”命令或单击“常用”工具栏中的按 钮 • 从“项目管理器”中 打开查询设计器 • 命令方式打开:Modify Query [查询文件名] (2) 关闭查询设计器:同时关闭查询文件 • 单击关闭按钮 • 双击窗口控制图标 • 退出Visual FoxPro环境
6.2 视图
6.2.4 视图的使用
(1) 打开视图并浏览 OPEN DATABASE 数据库名 USE 视图文件名
BROWSE
(2) 修改视图:Modify View 视图名 (3) 视图重命名:Rename View 原视图名 To 新视图名
(4) 删除视图:Drop View 视图名
(5) 视图关闭
6.1 查询
4. 查询的运行保存
(1) 运行 1. “查询”菜单→ “运行查询”(先打开查询设计器) 2. 单击工具栏上的 按钮 (先打开查询设计器) 3. 右键单击设计窗口 →“运行查询” (先打开查询设计器 ) 4. 运行命令:DO 查询文件名.qpr
注意:必须加上扩展名
(2) 保存 1. 直接保存 2. 另存为其它名字的文件
第六章 查询与视图设计
6.1 查询 6.2 视图 6.3 用视图更新数据
6.2 视图
6.2.1 视图的概念 1. 视图 (View)
• 视图是从数据库表或其它视图中导出的“表”,但与表不同 ,视图中的数据还是存储在原来的数据库表或视图中,因此 可以把视图看做是一个“虚表”或“虚拟表”。
6.2 视图
4.查询的数据来源仅限于Visual FoxPro的数据表,而视图的 数据来源除了Visual FoxPro的数据表外,还可以是视图、 远程服务器上的数据表、Visual FoxPro之外的数据表。
查询与视图VFP课件
第 五章
查询与视图
一 创建查询(打开查询设计器): 创建查询(打开查询设计器) 1.鼠标操作:“文件” →“新建” →“查询” →“新 1.鼠标操作:“文件” 建文件夹” 2. 命令操作: CREATE QUERY 查询文件名
二
介绍“查询设计器”
查询设计器下部分的窗口中有几个选项卡,其含义简介如 下: “字段”:对应于SELECT短语,用来选定包含在查询结果 中的字段 图之间的联接关系; “筛选”:对应于WHERE短语,用于指定查询条件; “排序依据”:对应于ORDER BY短语,用来指定排序的 字段和排序方式;
BY和HAVING短语,用于分组; “杂项”:可以指定是否要重复记录(DISTINCT)以及列在 前面的记录(TOP短语)
“分组依据”:对应于GROUP
三 查询的输出
鼠标操作:“查询” →“查询去向”
四 运行查询(先保存再运行)
鼠标操作: 单击“查询”/“运行查询”,或 “!”按钮 。 单击“查询”/“运行查询”,或 命令操作:Do 命令操作:Do 查询文件名 :查询文件名中一定要给出查询文件的扩展名.qpr :查询文件名中一定要给出查询文件的扩展名.qpr :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 中显示
一
创建视图(打开视图设计器)
鼠标操作:打开 “数据库设计器” “文件”/“新建” “文件”/“新建” “视图” 命令操作:CREATE 命令操作:CREATE VIEW 视图文件名
数据库表,创建视图。
查询与视图
一 创建查询(打开查询设计器): 创建查询(打开查询设计器) 1.鼠标操作:“文件” →“新建” →“查询” →“新 1.鼠标操作:“文件” 建文件夹” 2. 命令操作: CREATE QUERY 查询文件名
二
介绍“查询设计器”
查询设计器下部分的窗口中有几个选项卡,其含义简介如 下: “字段”:对应于SELECT短语,用来选定包含在查询结果 中的字段 图之间的联接关系; “筛选”:对应于WHERE短语,用于指定查询条件; “排序依据”:对应于ORDER BY短语,用来指定排序的 字段和排序方式;
BY和HAVING短语,用于分组; “杂项”:可以指定是否要重复记录(DISTINCT)以及列在 前面的记录(TOP短语)
“分组依据”:对应于GROUP
三 查询的输出
鼠标操作:“查询” →“查询去向”
四 运行查询(先保存再运行)
鼠标操作: 单击“查询”/“运行查询”,或 “!”按钮 。 单击“查询”/“运行查询”,或 命令操作:Do 命令操作:Do 查询文件名 :查询文件名中一定要给出查询文件的扩展名.qpr :查询文件名中一定要给出查询文件的扩展名.qpr :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 中显示
一
创建视图(打开视图设计器)
鼠标操作:打开 “数据库设计器” “文件”/“新建” “文件”/“新建” “视图” 命令操作:CREATE 命令操作:CREATE VIEW 视图文件名
数据库表,创建视图。
