内部讲义--VF-6-查询与视图
VFP第6章 查询和视图设计-精品文档
7
Visual FoxPro
6.1.3 1. 使用查询设计器设计查询时,每设计一步,都可运行查询,查看运 行结果,这样可以边设计、边运行,对结果不满意再设计、再运 行,直至达到满意的效果。设计查询工作完成并保存查询文件后, 可利用菜单选项或命令运行查询文件。 (1)在查询设计器中直接运行。在查询设计器窗口,选择“查询” 菜单中的“运行查询”选项,或单击常用工具栏的运行按钮,即 可运行查询。 (2)利用菜单选项运行。在设计查询过程中或保存查询文件后,单 击“程序”菜单中的“运行”选项,打开“运行”对话框。选择 要运行的查询文件,再单击“运行”按钮,即可运行文件。 ( 3) 在命令窗口中执行运行查询文件的命令,也可运行查询文件。命令 格式是: DO \[路径\] <查询文件名.扩展名> 值得注意的是,命令中查询文件必须是全名,即扩展名不能省略。 针对上面建立的查询文件,对其进行
Visual FoxPro
VF
isual oxPro
1
Visual FoxPro
VFP可以方便地从一个或多个表中提取所 需要的数据,可以通过设计相应的查询或视图 来实现。 查询与视图的区别: 从检索数据角度来说两者基本相同,从使 用角度来说两者有本质的区别。查询和视图都 是从一个或多个表文件或视图中提取用户所需 要的数据,但查询基于查询结果要创建一个查 询文件(.qpr),而视图不产生独立文件,是 以逻辑表文件保存在数据库中。
2
Visual FoxPro
(1) 查询具有不同输出去向的功能,用户可根 据自己的需要,选择不同的输出去向,但视 图不具备这样的功能。 (2) 利用视图可修改数据,并可将修改后的数 据通过SQL发送到原表文件,即可修改原表 文件的记录数据,但查询不具备这样的功能 (3) 查询不依附于任何数据库和表文件的存在 而存在,是完全独立的。但视图只能存在于 数据库中,是不能独立的。
vf课件6
6.2视图
• 6.2.1 视图的 概念 • 视图是从一个或多个数据表中导出的“表”。它与数据表 不同的是,视图中的数据还是存储在原来的数据表中,因 此可以把它看作是一个“虚表”。视图是不能单独存在的, 它依赖于某一数据库且依赖于某一数据表而存在,只有打 开与视图相关的数据库才能创建和使用视图。 • 使用当前数据库中的表建立的视图是本地视图 • 使用当前数据库之外的数据源建立的视图称为远程视图. • 只有在包含视图的数据库打开时才能使用视图.
6.2视图
6.2.3 视图与数据更新
单击“更新条件”选项卡。该选项卡用于设定更新数据的条件,其各选 项的含义如下 (1)表。列表框中列出了添加到当前视图设计器中所有的表,从其下拉列 表中可以指定视图文件中允许更新的表。如选择“全部表”选项,那么 在“字段名”列表框中将显示出在“字段”选项卡中选取的全部字段。 如只选择其中的一个表,那么在“字段名”列表框中将只显示该表中被 选择的字段。 (2)字段名。该列表框中列出了可以更新的字段。其中标识的钥匙符号为 指定字段是否为关键字段,字段前若带对号(√)标志则该字段为关键 字段;铅笔符号为指定的字段是否可以更新,字段前若带对号(√)标 志则该字段内容可以更新。 •
6.2视图
(3)发送SQL更新。用于指定是否将视图中的更新结果传回 源表中。 (4)SQL WHERE子句。用于指定当更新数据传回源数据表时, 检测更改冲突的条件。 (5)使用更新,指定后台服务器更新的方法。其中“SQL DELETE然后INSERT”选项的含义为在修改源数据表时,先 将要修改的记录删除,然后再根据视图中的修改结果插入 一新记录。“SQL UPDATE”选项为根据视图中的修改结果 直接修改源数据表中的记录。
6.1查询
6.1.3查询的局限性 • 查询设计器只适合一些比较规则的查询,
Visual FoxPro6.0程序设计教程第六章 查询与视图
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 作为年工资。
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 利用职工工资视图更新助教何宗琳和职 称为讲师。
vfp6第4章查询和视图
FROM子句用于指定数据源表, WHERE子句用来设置筛选的条件, 使用ORDER BY子句实现排序(该子句中的“DESC”指以降序来 排序,默认为升序)。
4.2
查询的创建和使用
创建基于多表的查询 当需要获取存储在两个或更多表或视图中的信息时, 只要把所有有关的表或视图添加到查询中,并用公共字 段联接它们。多个表可以是库表、自由表或视图的任意 组合。 用查询设计器创建多表查询的方法与单个表的方法基 本一样。不同之处在于: (1) 表的个数是两个或两个以上 (2) 多个表之间需建立联接条件
4.2
查询的创建和使用
设置查询结果的分组依据 ★所谓分组就是对表中取重复值的记录进行压缩,形成一 个结果记录,以完成基于一组记录的计算或统计。 例4.2:基于课程表(kc)和成绩表(cj),查询每门课选课 人数、平均成绩、最高分和最低分,查询输出字段包 含课程代号、课程名、选课人数、平均成绩、最高分 和最低分,且按平均成绩降序排列。
4.2
查询的创建和使用
如果是数据库中的表,则数 据库必须是打开的,否则不 能访问选定的表。
1. 打开查询设计器 2. 选择数据源表 3. 输出字段 4. 5. 6. 7. 设置筛选条件 设置排序依据 保存 运行
4.2
查询的创建和使用
1、打开查询设计器
a、通过界面来操作 ●从“项目管理器”中的“数据”选项卡中,选择“查询” 项,单击“新建”按钮,在出现的“新建查询”对话框中单击 “新建查询”按钮; ●通过“文件”菜单或常用工具栏中的“新建”命令建立 查询。
4.1 查询和视图概述
在VFP中,可以用一个SELECT-SQL 语句来完成查询,也可以将这种语句保 存为一个扩展名为QPR的查询文件。 查询文件中保存的是实现查询的SELECTSQL命令,而非查询的结果。
数据库应用 VFP 6.0第6章 查询与视图
6.2.2 视图建立、修改、运行
1、视图设计器建立视图 2、向导建立视图 3、命令建立视图 CREAT VIEW <视图名> 4、修改视图 MODIFY VIEW <视图名> 5、运行视图 6、删除视图 DROP | DELETE VIEW <视图名>
小结
查询在数据处理中的应用是普遍的,VFP运用SELECT 语句、查询、视图来完成查询,SELECT语句对于简单到复 杂要求的查询都可以实现,查询与视图实质上也是基于 SELECT语句的查询。查询与视图简单方便,它们很相似, 但也有一定的区别,查询是以文件形式存放于磁盘中,而 视图是存放在数据库中的一个虚表,视图与查询的主要区 别在于视图中数据的修改可以使源表数据改变。
2、用向导建立查询 (1)进入查询向导的方法(3种方法) (2)查询向导的一般步骤
3、用查询设计器建立查询(4种方法)
例 建立查询筛选出读者表中入学成绩超过 500分,并且是女生的记录 (向导和查询设计器两种方式)
6.1.3 查询Байду номын сангаас计器
各个选项卡功能说明 (1)字段:指定查询所需字段,同select (2)联接:设置联接条件,同join...on (3)筛选:设置查询条件,同where (4)排序依据:指定排序方式和依据,同order by (5)分组选项:设置分组,同group by (6)杂项:指定是否要去掉重复记录,同distinct 或指定列在前面的记录,同top n 、top n percent
3、查询去向的设置
6.2 视图查询
6.2.1视图的概念 视图与查询均是从表中获取数据。视图与查
询的区别:视图是一张虚表,数据库中只存放视 图的定义,数据库不存放视图的对应数据,这些 数据仍然存放在表中。而查询是以qpr文件形式存 放在磁盘中。更新视图的数据同时更新表的数据, 这一点与查询是不同的。
vf最新最全课件第六章
选择筛选字段 设置筛选条件 输入筛选实例 是否区分大小写 设置条件逻辑
返回
在字段名下的下拉选择框中选择“Grade.开课学期” 在字段名下的下拉选择框中选择“Grade.开课学期”,在“条 开课学期 下的下拉选择框中选择“ , 实例” 件”下的下拉选择框中选择“=”,在“实例”下的文本框中输 学期” 入“第1学期”, 逻辑”下的下拉选择框中选择“AND”, 在“逻辑”下的下拉选择框中选择“AND ,然后再在字段名下 的下拉选择框中选择“Student.学号 学号” 条件” 的下拉选择框中选择“Student.学号”,在“条件”下的下拉 选择框中选择“In”, 实例” 选择框中选择“In ,在“实例”下的文本框中输入 9904,9804”(请注意中间的“ 是En状态下输入的 状态下输入的) “9904,9804 (请注意中间的“,”是En状态下输入的)
第六章
查询与视图设计
考点
• • • • • • • 查询的定义 查询设计中选项卡所对应的SQL语句 查询文件的运行 查询文件的保存 视图的定义 视图设计器 查询与视图的区别
6.1查询的概念
查询就是预先定义好的一个SQL SELECT语句 查询是从指定的表或视图中提取满足条件的记录, 然后按照想得到的输出类型定向输出查询结果 查询是以扩展名为qpr的查询文件保存的,数据库 表和自由表都可以建立查询。 它是一个文本文件,它的主体是SQL.SELECT命令, 另外还有和输出定向有关的语句
“条件”列表中包含如下几项: 条件”列表中包含如下几项: 指字段值与实例相等; (1)=:指字段值与实例相等; LIKE:表示“字段名”栏中给出的字段值与“ (2)LIKE:表示“字段名”栏中给出的字段值与“实 栏中给出的文本值之间执行不完全匹配, 例”栏中给出的文本值之间执行不完全匹配,它主要 针对字符类型。例如,如设置查询条件为“Student. 针对字符类型。例如,如设置查询条件为“ 9904”,那么诸如“学号” 学号 LIKE 9904”,那么诸如“学号”字段前四位为 9904的记录都满足该条件 的记录都满足该条件; 9904的记录都满足该条件; ==:表示在“字段名”栏中给出的字段值与“ (3)==:表示在“字段名”栏中给出的字段值与“实 栏中给出的文本值之间执行完全匹配检查, 例 ” 栏中给出的文本值之间执行完全匹配检查 , 它也 主要是针对字符类型的。 主要是针对字符类型的。 即为“ 字段名” ( 4 ) > : 即为 “ 字段名 ” 栏中给出的字段的值应大于 实例”栏中给出的值; “实例”栏中给出的值; >=:即为“字段名” (5)>=:即为“字段名”栏中给出的字段的值应大于 或等于“实例”栏中给出的值; 或等于“实例”栏中给出的值;
数据库__VFP6第4章查询与视图
图4-15 查询设计器界面
(3)查询参数的设置 第一节 查询 ①确定输出的字段。在图4-15中的“可用字段”列表框中显示了上部窗 口中表的所有字段名称,通过“添加”或“全部添加”将“可用字段” 中所选择的字段移到“选定字段”列表框中。在本例中,B_xsxx表中除 szbj、xsjg、xspy等三个字段不选外其余全选,B_bjxx表中选择bjmc, B_dqxx表中选择dqmc ②设置联接条件 ③查询结果的排序。如果需要对查询的结果按一定的顺序排列,则可以 选择“排序依据”选项卡,以决定排序的依据。该选项卡如图4-16所示 。
第一节
图4-2 查询向导步骤之2 查询 查询向导步骤之2
第一节 查询 (4)步骤2:关联表
通常查询向导会自动查找两个表之间相匹配的字段 并显示在第二步的两个列表框中, 并显示在第二步的两个列表框中 , 如果这种关系正是 所需要的, 可以直接单击“ 添加” 按钮。 所需要的 , 可以直接单击 “ 添加 ” 按钮 。 如果在表之 间没有相匹配的字段, 就需要手工建立, 间没有相匹配的字段 , 就需要手工建立 , 只要分别在 两个下拉列表框中选取相应的字段即可。 两个下拉列表框中选取相应的字段即可。
图4-16 排序依据选项卡
第一节 查询 ④查询条件的设置。在“筛选”选项卡中可以设定查询的
条件,例如可以查询所有男同学的情况。“筛选”选项卡 如图4-17。
图4-17 筛选选项卡
⑤其他查询参数的设置 查询参数主要包括以上四项,其 他还有“分组依据”和“杂项”两个选项。
(4)查询结果的去向 第一节 查询
在查询设计的过程中,为了查看查询的结果, 可以随时单击“运行”按钮,VFP就会在屏幕上显 示查询的结果记录。在默认情况下,查询的结果直 接输出到屏幕上而且是不保存的。如果想改变查询 结果的去向,可以单击“查询设计器”工具栏中的 “查询去向”按钮,在图4-18所示的查询去向对话 框中选择不同的查询去向。
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 视图
根据视图中数据来源的不同,视图可以分 为本地视图和远程视图。 创建视图和创建查询的过程相类似,主要 的差别在于视图是可以更新的,而查询是 不可以更新的。如果想从本地或远程表中 提取一组数据,并且想更新这组数据,就 需要使用视图。
VFP查询与视图精讲
3.3 用查询设计器设计查询
3.3.1 确定各表间的联接关系 3.3.2 选定查询字段 3.3.3 筛选记录 3.3.4查询结果排序 3.3.5 建立分组查询 3.3.6 杂项的设置 3.3.7 定向输出查询结果 3.3.8 运行查询 返 回
退
出
3.3 用查询设计器设计查询
在实际应用中,查询向导设计的查询往往不能满足需求。 这时还可以采用查询设计器方便灵活的设计各种查询,也可以 先用查询向导设计一个简单的查询,再打开并修改它。 将上一节建立的Grad_Query交叉表查询,用“查询设计器” 进行修改,使用之包含尽可能少的空栏。 可以通过以下所提供的多种方法之一来打开查询设计器: ■从“项目管理器”启动查询设计器 1、在“项目管理器”中选择“数据”选项卡,再选取“查询” 项,再单击【新建】,进入查询设计方式选择对话框后单击 【新建查询】,则启动“查询设计器”。 2、在“项目管理器”中选择“数据”选项卡,从“查询”项 中选择一个已存在的查询文件,再单击【修改】,也启动“查 询设计器”。
保存设计的查询
目录选择下拉列表框 文件名输入文本框 在“文件名输入文本框”中 输入“Stud_query”后,单击 【保存】按钮,结束查询设 计过程。
文件类型选择下位列表框
在项目管理器中 的“数据”选项 中的查询项下产 生了一个查询文 件
返回
3.2.2 建立交叉表
如果在上文所述的建 立查询的第一步选择 “交叉表向导”,则可 以建立交叉表。下面通 过示例来介绍如何建立 交叉表。用Grade表中 的数据建立一个交叉表, 以显示每个学生所有课 程的总成绩。 Grade表 中的部分数据如: 前面的设计过程同以 上内容,但是在第二步 需要确定交叉表的行和 列。
■从【文件】菜单启动查询设计器 选择系统菜单中的【文件】|【新建】命令,在“新建”对话框 中选中“文件类型”下的“查询”单选项,再单击右边的【新建 文件】按钮,也可启动“查询设计器”; ■使用CREATE QUERY命令也可启动“查询设计器”
VF课件第六章
主讲: 刘 宁
1
第1页,共26页。
回忆SQL查询
• 在第5章,我们学习了如何用SQL-SELECT 语句实现各种各样的查询。
• 提出问题: • 因为工作需要,作为教学秘书的你要迅速查
出计算机系每个教职工的姓名、年龄和职称。
2
第2页,共26页。
回忆SQL查询
问题解答:
1. 打开visual foxpro 6.0系统;
• 可以用连接查询或嵌套查询两种方法。 • 用查询设计器也可以实现嵌套查询。
筛选条件:教职工.所在部门 IN (sele 系别 from 学生)
只添加教职工表,不要添加学生表,否则认为是连接查询。
19
第19页,共26页。
6.5 视 图
20
第20页,共26页。
6.5 视图
一、视图的定义
–视图可分为本地视图和远程视图。 –视图是一个定制的虚拟表,其数据可以来源于
6
第6页,共26页。
6.1 创建查询
-使用查询设计器
利用查询设计器完成相同的查询任务: 查出计算机系每个教职工的姓名、年龄和职称。
创建查询的步骤: ① 打开查询设计器 ② 进行查询设置:源表、目标列、查询条件、结
果去向 ③ 保存查询
7
第7页,共26页。
1. 打开查询设计器
方法一:文件→新建→查询→新建文件
一个表或多个表,或其他视图。 –视图本身并不保存任何数据。对视图的访问,
最终转换成对基本表的数据访问与处理。 –视图是可更新的,修改视图中的数据时,实际
上是直接修改了其数据源(基本表)中的数据。
21
第21页,共26页。
二 、视图与查询的主要区别
《Visual FoxPro 6.0数据库与程序设计》课件 第4章 查询和视图(电子版)
利用查询设计器得到的查询文件是一个文本文件,用户可 以查看其内容。 打开查询设计器,选择“查询|查看SQL”命令,打开一个 只读窗口,其中显示了一条SQL语句,它包含了用户创建这个查 询的所有信息。
18
4.2.1 视图的概念
通过视图不仅可以从多个表中提取数据,还可以在改变视
图数据后,把更新结果送回到数据源表中。 视图不能以自由表文件的形式单独存在,它必须依赖于某 个数据库,并且只有在打开相关的数据库之后,才能创建和使
(6)运行查询,获得查询结果。
4
4.1.2 创建查询
1. 启动查询设计器 (1)项目管理器:选择 “查询”数据项,单击“新建”按钮, 出现“新建查询”对话框,选择“新建查询”命令,打开查询 设计器。 (2)菜单:选择“文件|新建”命令,在“新建”对话框中选 择“查询”文件类型,然后单击“新建文件”按钮。
第4章 查询和视图
2
4.1 查询
查询和视图是检索和操作数据库的两个基本手段。
两者都可以从一个或多个相关联的数据表中提取有用的信息。 查询可以根据表或视图定义,它不依赖于数据库而独立存在, 可以显示但不能更新由查询检索到的数据(查询结果是只读 的)。
视图兼有表和查询的特点,它可以更改数据源中的数据,但
例:将“学生1”表中的“学号”字段更名为“学生证编号“
ALTER TABLE 学生1 RENAME COLUMN 学号 TO 学生证编号
对“学生1”表中的“姓名”和“出生日期”字段建立主索引
ALTER TABLE 学生1 ADD PRIMARY KEY 姓名+DTOC(出生日期) TAG 姓名_生日
(3)命令:CREATE QUERY <查询文件名>
内部讲义--VF-6-查询与视图
第六章查询和视图大纲要求二.V I S U A L F O X P R O数据库基础操作3、建立视图与数据查询: (1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
(4)建立多表视图。
知识要点1.建立查询文件建立查询文件的方法有:(1)单击“文件”菜单中的“新建”命令(或工具栏上的“新建”按钮),在“新建”对话框中选择“查询”,然后单击“新建查询”按钮,同时打开查询设计器和“添加表和视图”对话框,选择相关数据库,单击“添加”按钮添加用于建立查询的表和视图。
(2)在”项目管理器”中,选择“数据”选项卡中的查询,单击“新建”按钮,则出现新建查询的方式选择对话框。
单击“新建查询”按钮,则打开“查询设计器”对话框。
(3)执行C R E A T E Q U E R Y命令打开查询设计器建立查询。
(4)直接编辑.q p r文件建立查询。
2.查询选项卡:查询设计器界面的各项选卡和S Q L S E L E C T语句的个短语是相对应的。
“添加表和视图”:打开查询设计器就可以选择设计查询的表或视图,这项操作对应于F R O M短语,此后还可以从“查询”菜单或工具栏中选择“添加表”或选择“移去表”重新指定设计查询的表;“字段”选项卡对应于S E L E C T短语,指定所要查询的数据,这时可以单击“全部添加”选择所有字段,也可以逐个选择字段“添加”;在函数和表达式“编辑框中可以输入或编辑计算表达式。
“联接“选项卡对应于J O I N O N短语,用于编辑联接条件。
“筛选”选项卡对应于W H E R E短语,用于指定查询条件。
“排序依据”选项卡对应于O R D E R B Y短语,用于指定排序的字段和排序方式。
“分组依据”选项卡对应于G R O U P B Y短语和H A V I N G短语,用于分组。
“杂项”选项卡可以指定是否要重复记录(对应于D I S T I N C T)及列在前面的记录(对应于T O P短语)等。
第4章Visual FoxPro 6.0查询与视图
3.数据库更新 SQL的数据更新包括数据插入、修改和删除3种 操作,分别使用INSERT、UPDATE、DELETE 三个语句。 (1)数据插入 数据插入采用“INSERT”语句,插入方式有单元 组插入和多元组插入,前者为一次将一个元组插 入表中,而后者是将SELECT查询的结果插入表 中,因而可以是多个元组。
4.3 视图
使用查询虽然可以很快地检索到需要的数据,但是 它却不能对查询到的数据进行修改,如果要对查询 结果进行更新,并将更新后的数据保存回源数据表 中,就需要利用Visual FoxPro 6.0提供的视图操作。 视图并不是图,而是观察或修改表数据的一个小窗 口,通过这个窗口可以查看或修改表中的内容。 视图分为两种类型:本地视图和远程视图。本地视 图是从本地表或视图中提取一组记录,修改、编辑 后把更新的结果回存到源表或视图中。远程视图是 从远程服务器的数据源中提取一组记录,改变某些 记录的值,然后将更新的结果回存到远程数据源中。
4.1.3 使用【查询设计器】设计查询
当用户需要比较复杂的查询结果时,可以使用【查询设计 器】来设计查询。使用【查询设计器】可以灵活方便地设 计各种查询。 打开【查询设计器】的方法有多种,最常用的三种方法如 下。 (1)命令方式:在【命令】窗口中键入“CREAT QUERY”命令。 (2)菜单方式:选择【文件】/【新建】命令,在弹出的 【新建】对话框中选择【查询】,然后单击(新建文件) 按钮。 (3)在【项目管理器】中选择【查询】,然后单击【新 建】按钮,在弹出的【新建查询】对话框中单击【新建文 件】按钮。
4.1.4 设置查询去向 在默认条件下,查询的结果是输出到屏幕上的【浏 览】窗口中。也可以改变查询的输出去向,如将查 询输出到表格、临时表或报表中。 单击【查询设计器】工具栏中的(查询去向)按钮, 或选择菜单中的【查询】/【查询去向】命令, 【查询去向】对话框中各按钮的意义如下。 【浏览】:在【浏览】窗口中显示查询结果,这 是系统的默认设置。 【临时表】:将查询结果保存在一个临时表内。 对于多次查询的结果可以放在不同的临时表内。
VF课件6
6.2.4 使用视图 1. 打开视图
命令格式:USE <视图名> ● 一张视图在打开以后,它就被作为临时表在自己的工作区中打开。如果此视图 是基于本地表的,则在打开视图的同时,还会在其他工作区中同时打开该视图所对 应的基表。
6.2.4 使用视图 2. 浏览视图
● 在浏览窗口中浏览视图
①在命令窗口中用BROWSE命令浏览 ②在“项目管理器”的“数据”选项卡中选择要显示的视图,单击“浏览”按钮。 ③在 “数据工作期”窗口中选择要浏览的视图,单击“浏览”按钮。
6.1.5 查询向导
3. 交叉表向导
【例6-4】 “查询学生各门功课的成绩,并显示每个学生的总分”。 (1)步骤1—字段选取 (2)步骤2—定义布局 (3)步骤3—加入总结信息
运行结果
6.2 视图 6.2.1 视图的概念及分类 1. 视图的概念
视图是从一个或多个数据表中导出的虚拟表,视图本身并不保存任何数据,只是 对原有的数据表进行导出。
●数据显示区 ●查询设计区
●在“项目管理器”中打开
●“CREATE QUERY”命令
6.1.1 查询设计器
2. 查询设计器窗口的组成
● “字段”选项卡 1) 用于设置查询结果中需要显示的字段或表达式。 2) “可用字段”列表列出了所有添加到“查询设计器”中的数据表或视图 中的可以用作输出结果的字段(备注字段、通用字段除外)。 “函数和表达式”文本框用于输入表达式,以完成某些计算功能。 “选定字段”列表列出了用户添加的所有用作输出结果的字段或表达式。 ● “联接 ”选项卡
● “分组依据 ”选项卡 ——分组就是将表中某个(或某些) 字段值相同的一组记录压缩成一条 记录,以实现对该组记录进行统计 或计算,常用于完成分类统计功能。
vf课件第6章
3
第6章 查询与视图 章
二级VF考试大纲: (1) 查询文件的建立、执行与修改。 (2) 视图文件的建立、查看与修改。 (3) 建立多表查询。
4
6.1 创建查询
在Visual FoxPro中,除了利用SQL命令方便、 FoxPro中 除了利用SQL命令方便、 SQL命令方便 迅速地建立查询, 迅速地建立查询,还可以使用查询向导和查询 设计器来生成查询文件。 设计器来生成查询文件。
筛选条件:教职工 所在部门 学生) 筛选条件:教职工.所在部门 IN (sele 系别 from 学生 只添加教职工表,不要添加学生表,否则认为是连接查询。 只添加教职工表,不要添加学生表,否则认为是连接查询。
19
6.5 视 图
20
6.5 视图
一、视图的定义
–视图可分为本地视图和远程视图。 视图可分为本地视图和远程视图。 视图可分为本地视图和远程视图 –视图是一个定制的虚拟表,其数据可以来源于 视图是一个定制的虚拟表, 视图是一个定制的虚拟表 一个表或多个表,或其他视图。 一个表或多个表,或其他视图。 –视图本身并不保存任何数据。对视图的访问, 视图本身并不保存任何数据。 视图本身并不保存任何数据 对视图的访问, 最终转换成对基本表的数据访问与处理。 最终转换成对基本表的数据访问与处理。 –视图是可更新的,修改视图中的数据时,实际 视图是可更新的, 视图是可更新的 修改视图中的数据时, 上是直接修改了其数据源(基本表)中的数据。 上是直接修改了其数据源(基本表)中的数据。
2
回忆SQL查询 查询 回忆
问题解答: 问题解答:
1. 打开 打开visual foxpro 6.0系统 系统; 系统 2. 设置默认路径到相关数据库 设置默认路径到相关数据库; 3. 在命令窗口输入: 在命令窗口输入: select 姓名 year(date())-year(出生日期 as 年龄 职称 姓名, 出生日期) 年龄, 职称; 出生日期 from 教职工 部门 教职工, 部门; where 教职工 所在部门 部门 部门号 教职工.所在部门 部门.部门号 所在部门=部门 部门号; and 部门 部门名称 计算机系” 部门.部门名称 计算机系” 部门名称=“计算机系 4. 在浏览窗口可以看到查询结果如右上图所示。 在浏览窗口可以看到查询结果如右上图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章查询和视图大纲要求二. VISUAL FOXPRO数据库基础操作3、建立视图与数据查询:(1)查询文件的建立、执行与修改。
(2)视图文件的建立、查看与修改。
(3)建立多表查询。
(4)建立多表视图。
知识要点1. 建立查询文件建立查询文件的方法有:(1)单击“文件”菜单中的“新建”命令(或工具栏上的“新建”按钮),在“新建”对话框中选择“查询”,然后单击“新建查询”按钮,同时打开查询设计器和“添加表和视图”对话框,选择相关数据库,单击“添加”按钮添加用于建立查询的表和视图。
(2)在”项目管理器”中,选择“数据”选项卡中的查询,单击“新建”按钮,则出现新建查询的方式选择对话框。
单击“新建查询”按钮,则打开“查询设计器”对话框。
(3)执行CREATE QUERY命令打开查询设计器建立查询。
(4)直接编辑.qpr文件建立查询。
2.查询选项卡:查询设计器界面的各项选卡和SQL SELECT语句的个短语是相对应的。
“添加表和视图”:打开查询设计器就可以选择设计查询的表或视图,这项操作对应于FROM短语,此后还可以从“查询”菜单或工具栏中选择“添加表” 或选择“移去表”重新指定设计查询的表;“字段”选项卡对应于SELECT短语,指定所要查询的数据,这时可以单击“全部添加”选择所有字段,也可以逐个选择字段“添加”;在函数和表达式“编辑框中可以输入或编辑计算表达式。
“联接“选项卡对应于JOIN ON短语,用于编辑联接条件。
“筛选”选项卡对应于WHERE短语,用于指定查询条件。
“排序依据”选项卡对应于ORDER BY短语,用于指定排序的字段和排序方式。
“分组依据”选项卡对应于GROUP BY短语和HAVING短语,用于分组。
“杂项”选项卡可以指定是否要重复记录(对应于DISTINCT)及列在前面的记录(对应于TOP短语)等。
从以上个选项卡的内容可以看出,如果熟悉SQLSELECT,那么设计查询是非常简单的;反之如果不熟悉,甚至不了解SQL SELECT,将很难理解查询设计器的这些内容。
例题1.在Visual FoxPro中,查询文件的扩展名为____。
A..qpr B..fmt C..fpt D..lbt[解析] 本本题考查的知识点是查询文件的扩展名。
在Visual FoxPro中,查询文件的扩展名为.qpr。
本题选项A是查询文件的扩展名。
选项B 是格式文件的扩展名。
选项C是表备注文件的扩展名。
选项D是标签备注文件的扩展名。
[答案] A2.下列关于查询的说法,不正确的一项是____。
A.查询是Visual FoxPro支持的一种数据对象B.查询就是预先定义好的一个SQL SELECT语句C.查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果D.查询就是查询,它与SQL SELECT语句无关[解析] 本本题考查的知识点是查询的基础知识。
此处介绍的查询实际是一个名词,它是Visual FoxPro支持的一种数据对象。
实际上,查询就是预先定义好的一个SQL SELECT语句,根据不同的需要可以反复和直接使用。
换个角度讲,查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。
由由此可以看出选项A,B,C都正确,选项D错误,因因为查询就是预先定义好的一个SQL SELECT语句。
[答案] D3.打开查询设计器的命令是____。
A.OPEN QUERY B.OPEN VIEWC.CREATE QUERY D.CREATE VIEW[解析] 本本题考查的知识点是打开查询设计器的命令。
在Visual FoxPro 中,打开查询设计器的命令是CREATE QUERY。
本本题选项A和B 的语法错误。
选项C是打开查询设计器的命令。
选项D是打开视图设计器命令。
[答案] C4.下列利用项目管理器新建查询的操作中,正确的一项是____。
A.打开项目管理器,选定“数据”选项卡,选定“查询”,单击“新建”按钮B.打开项目管理器,选定“数据”选项卡,选定“查询”,单击“运行”按钮C.打开项目管理器,选定“文档”选项卡,选定“查询”,单击“新建”按钮D.打开项目管理器,选定“代码”选项卡,选定“查询”,单击“新建”按钮[解析] 本本题考查的知识点是利用项目管理器新建查询。
利用项目管理器新建查询的操作步骤是:打开项目管理器,选定“数据”选项卡,选定“查询”,单击“新建”按钮,打开“查询设计器” 即即可创建查询。
本题选项A创建查询的操作方法正确。
选项B错误,因为新建查询,应该单击“新建”按钮,查询在没建立之前不能运行。
选项C和D错误,因为“查询”项位于“数据”和“全部”选项卡下,“文档”和“代码”选项卡中没有“查询”项。
[答案] A 5.查询设计器中的选项卡依次为____。
A.字段、联接、筛选、排序依据、分组依据B.字段、联接、排序依据、分组依据、杂项C.字段、联接、筛选、排序依据、分组依据、更新条件、杂项D.字段、联接、筛选、排序依据、分组依据、杂项[解析] 本本题考查的知识点是查询设计器中的选项卡。
查询设计器中有6个选项卡,依次为字段、联接、筛选、排序依据、分组依据、杂项。
选项A中缺少“杂项’’选项卡。
选项B中缺少“筛选”选项卡。
选项C中多了“更新条件”选项卡,实际上选项C是视图设计器中的选项卡。
选项D完全正确。
[答案] D6.在Visual FoxPro中,查询设计器中的选项卡与____语句相对应。
A.SQL SELECT B.SQI ALSERTC.SQL UPDATE D.SQL DROP[解析] 本本题考查的知识点是查询设计器与Visual FoxPro支持的语句的对应关系。
在Visual FoxPro中,因为查询是预先定义好的一个SQL SELECT语句,查询设计器的基础是SQL SELECT语句,所以查询设计器中的选项卡与SQL SELECT语句相对应。
选选项A与查询设计器中的选项卡相对应。
选项B用于修改表的结构,与查询设计器无关。
选项C用于更新表,与查询设计器无关。
选项D用于删除表,与查询设计器无关。
因此正确答案为A。
[答案] A7.SQL SELECT语句中的GROUP BY和HAVING短语对应查询设计器上的____选项卡。
A.字段B.联接C.分组依据D.排序依据[解析] 本本题考查的知识点是查询设计器上的选项卡与SQL SELECT 语句的对应关系。
在Visual FoxPro中,GROUP BY和HAVING短语对应查询设计器上的“分组依据”选项卡,都是用来分组。
[答案] C8.在查询设计器中,选定“杂项”选项卡中的“无重复记录”复选框,与执行SQL SELECT 语句中的____等效。
A.WHERE B.JOIN ON C.ORDER BY D.DISTINCT[解析] 本本题考查的知识点是查询设计器上的选项卡与SQL SELECT 语句的对应关系。
在Visual FoxPro中,DISTINCT短语对应查询设计器上的“杂项”选项卡中的“无重复记录”,都是用来指定查询中没有重复项。
选项A用于指定查询条件,与“筛选”选项卡对应。
选项B用于编辑联接条件,与“联接”选项卡对应。
选项C用于指定排序字段和排序方式,与“排序依据”迭项卡对应。
选项D用于指定是否要重复记录,与“杂项”选项卡上的“无重复记录”项对应。
[答案] D9. 在查询设计器的“字段”选项卡中设置字段时,如果将“选定字段”框中的所有字段一次移到“可用字段”框中,可单击_____按钮。
A.添加B.全部添加C.移去D.全部移去[解析] 本本题考查的知识点是查询设计器的“字段”选项卡中各按钮的应用。
在查询设计器中,如果要将“可用字段”框中的全部字段都移到“选定字段”框中可单击“全部添加”按钮.单击“添加”按钮只可以将选定的字段添加到“选定字段”框中。
单击“全部添加”按钮可以将字段全部添加到“选定字段”框中。
单击“移去”按钮,可以将在“选定字段”框中选定的字段移到“可用字段”中。
单击“全部移去”按钮,可以将“选定字段” 框中的所有字段移到“可用字段”框中。
[答案] B3.执行查询文件运行查询的方法有:●打开项目管理器,打开“数据”选项卡,选择要运行的查询,单击“运行”按钮。
●执行DO<查询文件名>命令。
4.修改查询文件修改查询文件首先要打开查询设计器,操作方法如下:●单单击“文件” 菜单中的“打开”按钮,或单击工具栏上的“打开”按钮,选择要打开的查询文件,单击“确定”按钮。
●执执行MODIFY QUERY<查询文件名>。
打开查询文件后,即可修改查询文件。
例题1.下列运行程序的方法中,不正确的一项是____。
A.打开项目管理器中的“数据”选项卡,选择要运行的查询,单击“运行”按钮B.单击“查询”菜单中的“运行查询”命令C.按[Ctrl十D]快捷键D.执行DO<查询文件名>命令[解析] 本本题考查的知识点是运行查询的方法。
在Visual FoxPro中,运行查询的方法有多种,常用的有:①打开项目管理器,展开“数据”选项卡,选择要运行的查询,单击“运行”按钮。
②单击“查询"菜单中的“运行查询”命令。
③按[CTRL十Q]快捷健。
④执行DO<查询文件名>命令。
[答案] C2.查询设计器中的“筛选”选项卡用来____。
A.编辑联接条件B.指定查询条件C.指定排序属性D.指定是否要重复记录[解析] 本本题考查的知识点是查询设计器中“筛选’’选项卡的作用。
在Visual FoxPro中,查询设计器中的“筛选”选项卡用来指定查询条件。
选项A错误,“联接’’选项卡用来编辑联接条件。
选项C错误,“排序依据”选项卡用来指定排序属性。
选项D错误,“杂项’’选项卡用来指定是否要重复记录。
[答案] B 3.在查询设计器中可以定义的“查询去向”有____。
A.浏览、临时表、表、图形、屏幕、报表、标签B.浏览、临时表、表、图形、屏幕、报表、视图C.浏览、临时表、表、图形、屏幕、标签D.浏览、临时表、表、图形、报表、标签[解析] 本本题考查的知识点是查询设计器的查询去向。
在Visual FoxPro中,由于设计查询的目的不只为了完成查询功能,因此在查询设计器中可以根据需要为查询输出定位查询去向。
在Visual FoxPro中,可以定位的查询去向有:浏览、临时表、表、图形、屏幕、报表、标签。
选项A完全正确。
选项B缺少标签,多了视图。
迭项C缺少报表。
选项D缺少屏幕。
[答案] A4.在Visual FoxPro中,当一个查询基于多个表时,要求表____。
A. 之间不需要有联系B.之间必须是有联系的C.之间一定不要有联系 D. 之间可以有联系可以没联系[解析] 本本题考查的知识点是基于多个表建立查询。