VFP第6章 查询和视图设计-精品文档
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程序设计教程第六章 查询与视图
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 作为年工资。
第六章查询与视图Visual FoxPro VFP计算机等级考试教学课件
图4.4 筛选记录对话框
单击【下一步】按钮,进入【查询向导】的最后一 步操作——排序记录。这步用来设置查询输出结果的排列顺序。 用户最多可以选择三个字段或一个索引来确定查询结果的排序
顺序(如图4.6所示)。
图4.5 排序记录
若查询的数据源是视图,在选定排序字段之后, 还可以进入到一个【限制记录】对话框。此对话 框的主要功能是进一步限定查询所包含的记录。
USE STUD
CALC CNT(),AVG( 奖 金 ),MAX( 奖 金 ),AVG( 工 资 总 额),MAX(工资总额) TO X1,X2,X3,X4,X5
** 分类汇总
【 格 式 】TOTAL TO < 汇 总 文 件 名 > ON < 关 键 字 段 > [FIELDS <字段名表>] [<范围>] [FOR <逻辑表达式1>] [WHILE <逻辑表达式2>] [NOOPTIMIZE]
【说明】LOCATE 命令在表指定范围中查找满足条件的第一 条记录。
<逻辑表达式1>:表示所需满足的条件。 <范围>:指定查找范围,缺省时为ALL,即在整个表文件 中查找。
找到第一条满足条件的记录后,记录指针指向该记录, 并将函数FOUND()(用于检测是否找到满足条件的记录) 置为.T.;否则,记录指针指向<范围>的底部或文件结束标 志,并且将函数FOUND()置为.F,并在状态栏给出提示信 息“已到定位范围末尾”。
第四章
查询与视图
4.2 创建查询
4.2 .1 顺序查询 4.2.2 索引查询 4.2.3 用【查询向导】建立查询 4.2.4 用【查询设计器】创建查询
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 利用职工工资视图更新助教何宗琳和职 称为讲师。
第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语句。
数据库应用 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查询和视图.ppt
分组依据选项卡可以控制记录的分组。 分组字段:列出对查询结果进行分组的字段或表达式。 可以拖动字段左边的垂直双向箭头,更改字段的顺序 和分组的层次。 满足条件按钮:显示“满足条件”对话框,指定查询 结果中各组应满足的条件
设置分组
14
杂项选项卡指定是否要对重复的记录进行检索,同时是否对 记录的数量做限制。它提供的选项有: 无重复记录:是否允许有重复记录输出。 交叉数据表:将查询结果送往Microsoft Graph、报表或 一个交叉表格式的数据表中。 列在前面的记录:用于指定查询结果中出现的记录,可 指定记录数或百分比。
句的表达式。
排序依据:指定排序的字段和排序方式,
对应于ORDER BY子句。
6
2.查询设计器的选项卡
分组依据:设置分组条件,对应于GROUP
BY子句。
杂项:设置有无重复记录以及查询结果中显
示的记录数等。
查询设计器实际上是SELECT命令 的图形化界面。
7
6.1.2 建立查询
1. 启动查询设计器,选择需要从中获取信息的表和
许多选项都有一些影响输出结果的附加选择; 不同的查询去向,生成的查询文件会有所变 化。
23
24
4查询设计器的局限性
查询设计器只能建立一些规则的查询。
复杂的查询只能利用SQL SELECT语句 直接编写,并且不能在查询设计器中打 开、修改,只能在编辑器中修改。
25
6. 2 视图设计
在关系数据库中,视图是从表中派生出来的虚表, 也称为操作表的窗口。视图可引用一个或多个表 (基本表),或引用其他视图。
1
6.1 查询设计 6.2 视图设计
2
6.1 查询设计
查询:从指定的表或视图中筛选出满足条件
VF 查询与视图设计
6.1.4 查询设计器的局限性
如果用户对SQL SELECT语句非常熟悉和 了解,是可以直接用各种文本编辑器来编 写SQL SELECT语句建立查询,只是将文件 的扩展名保存为.QPR即可。而使用查询设 计器相对来说比较容易一些。但必须注意 的是,查询设计器只能建立一些比较有规 则的查询,对于复杂的查询它是无能为力 的。比如建立一个内外层相互关联的子查 询。
查询基于多个表时,表之间必须有联系。 查询设计器自动根据联系提取联接条件, 否则还会打开一个指定联接条件的对话框, 由用户来确定联接条件,如图6-3所示的联 接条件对话框。
图6-3 联接条件对话框
2.查询设计器的选项卡 查询设计器界面有6个选项卡,其功能和 SQL SELECT语句的各个短语是相对应的。 前面已经选择了设计查询的表或视图,对 应于FROM短语。 ⑴ 字段:在该选项卡中设置查询结果中要包 含的字段,对应于SELECT短语中的输出字 段,在“可用字段”列表框中选中要显示 的字段,添加到“选定字段”列表框中; 如果要输出全部字段,单击“全部添加” 按钮;在“函数和表达式”编辑框中可以 输入、编辑或由“表达式生成器”生成一 个计算表达式,由此生成一个计算字段。
⑵ 利用菜单选项运行 当在查询设计器中保存查询文件后,或保 存查询文件后关闭查询设计器,单击“程 序”菜单中的“运行…”命令,打开“运行” 对话框,选中要运行的查询文件,单击 “运行”按钮,可显示查询结果。 ⑶ 利用命令方式运行 在命令窗口中输入运行查询文件的命令, 其格式为:DO <查询文件名> 注意:查询文件名不能省略扩展名.QPR。
数据查询是数据处理中最常用的操作之一, 查询可以从一个或多个表中提取所需要的 数据,可以通过设计相应的查询或视图来 实现,是快速方便地从数据库中提取数据 的一种方法。 查询实际上是指扩展名为.QPR的查询文 件,其主体是SQL SELECT语句,视图则兼 有表和查询的特点,是在数据库表的基础 上建立的一个虚拟表,视图不能独立存在 而是被保存在数据库中。查询和视图的设 计可以用相应的设计器来实现,也可以使 用SQL语言实现。
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 查询与视图
2
利用查询设计器创建查询
(5)查询结果排序 单击“排序依据”选项卡,在“选定字段”框中选“出生日 期”;在“排序选项”框中选“升序”,单击“添加”按钮,将所 选字段添加到“排序条件”框中。 单击工具栏上的“!”按钮,可显示查询结果。
6.2 实验内容
6.2.1 查询
2
利用查询设计器创建查询
(6)保存查询
(4)设置查询条件
单击“筛选”选项卡,在“字段名”框中选择“出生日期”;
在“条件”框中选择“>=”;在“实例”框中输入: {^1982\|01\|01};在“逻辑”框中选“AND”;在下一行的“字段 名”框中选择“性别”;在“条件”框中选择“=”;在“实例” 框中输入:″女″。
6.2 实验内容
6.2.1 查询
实验6 查询与视图
6.1 实验目的
(1) (2)
掌握利用查询向导创建查询的方法。
掌握使用查询设计器创建查询的方法。
(3)
(4) (5)
熟悉建立视图的命令。
掌握使用视图设计器创建视图的方法。
掌握视图的使用方法。
6.2 实验内容
6.2.1 查询
1
利用查询向导创建查询 【例6-1】通过查询向导创建查询xd1.qpr,从学生表中检索入学成 绩不低于450分的学生的学号、姓名、性别、院系和入学成绩,要求按 入学成绩的降序输出入学成绩最高的前5位学生的记录。 操作步骤如下: (1)执行【文件】|【新建】命令,打开“新建”对话框。 (2)在步骤 1-字段选取中,选择学生表为数据源,在“可用字段” 框中选择“学号”,然后单击添加按钮 ,将学号字段添加到“选定字 段”框中。同样,将姓名、性别、院系和入学成绩字段添加到“选定 字段”框中,单击“下一步”。
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之外的数据表。
VF查询与视图
填空 1、为“成绩”表中“总分”字段增加有效性规则:“总分必须 大于等于0并且小于等于750”,正确的SQL语句是: TABLE 成绩 ALTER 总分 总分>=0 AND 总分 <=750
2、为“学生”表的“年龄”字段增加有效性规则“年龄必须在18~45岁之间” 的SQL语句是 ALTER TABLE学生ALTER年龄 年龄<=45 AND 年 龄>=18 2、在SQL语言中,用于对查询结果计数的函数是 。 3、在SQL的SELECT查询中,使用 4、使用SQL Select语句进行分组查询时,有时要求分组满足某个条件时才查 询,这时可以用 子句来限定分组。 5、设有SC(学号,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于 或等于平均成绩的学生的学号。 SELECT 学号 FROM SC WHERE 成绩>=(SELECT FROM SC)
空值查询
表中值为空表示没有确定内容,当要查询的时候: repl 供应商号 with null,订购日期 with null for 职工号 ="E4 " 然后才能用IS NULL查询,考试的时候不需要设置。
当需要本仓库的职工的工资和本仓库的平均工资 进行比较时候
自身连接和嵌套查询 sele * from 职工 A where 工资>(sele avg(工资) from 职工 B where A.仓库号=B.仓库号) 自身连接:将同一关系与自身连接。 注意:应用的原因:根据出自同一个字段,值域相同 的两个进行比较。属性是“包含”与“被包含”的关 系。
5.在Visual Foxpro中,如果要将学生表S(学号,姓名,性别,年 龄)中“年龄”属性删除,正确的SQL命令是 。 A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄FROM S D)ALTER TABLE S DELETE COLUMN 年 龄 D)ALTER TABLE S DELETE年龄 6.在Visual Foxpro的数据库表中只能有一个 。 A)候选索引 B)普通索引 C)主索引 D)惟一索引 7. 设有学生表 S( 学号 ,姓名,性别 , 年龄),查询所有年龄小于等于 18 岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是 。 A)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 4 DBSC INTO TABLE WS B)SELECT*FROMS WHERE 性别 = “女” AND 年龄 <=18ORDER BY 年龄 INTO TABLE WS C)SELECT*FROMS WHERE 性别 = “女” AND 年龄 <=18ORDER BY 年龄 DESC INTO TABLE WS D)SELECT*FROMS WHERE 性别 = “女” OR 年龄 <=18ORDER BY 年龄
内部讲义--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短语)等。
第六章 查询与视图
VFP数据库程序设计
6.1
查询
查询的设计过程:
在创建查询时,通常可以遵循以下六个步骤来创建查询。 (1)用“查询向导”或“查询设计器”创建查询。 (2)选择在查询结果中需要的字段。 (3)设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是浏览窗口、永久表、临时表、 图表、屏幕及文本文件等。 (6)运行此查询。
VFP数据库程序设计
2.查询设计器工具栏各按钮功能如下:
按钮:添加数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。
按钮:最大化上部分窗口。
按钮:确定查询去向。
VFP数据库程序设计
6.1.2
建立查询
不管使用哪种方法打开查询设计器建立查询,都首先进入“添 加表或视图”对话框,从中选择用于建立查询的表或视图,这 时单击要选择的表或视图,然后单击“添加”按钮。如果单击 “其他”按钮还可以选择自由表。当选择完表或视图后,单击
VFP数据库程序设计
选取字段
VFP数据库程序设计
设置联接条件
VFP数据库程序设计
设置排序依据
VFP数据库程序设计
设置 分组 依据
VFP数据库程序设计
6.1.3
运行查询
1. 利用菜单选项运行
在设计查询过程中或保存查询文件后,单击常用工具栏上 的运行按钮或单击“程序”菜单中的“运行”选项,打开 “运行”对话框。选择要运行的查询文件,再单击“运行” 按钮,即可运行文件。 2. 命令方式 在命令窗口中执行运行查询文件的命令,也可运行查询 文件。 命令格式: DO \[路径\] <查询文件名.QPR> 注意:命令中查询文件的扩展名不能省略。
vfp的查询和视图
二、视图的创建和使用
视图的概念:把分散在相关表中的数据通过联 接条件把他们收集到一起,构成一张“虚表”。 这张“虚表”就是视图,视图是数据库的一个组 成部分,是基于表的并且可更新的数据集合
视图与查询的区别:视图除了可以用来查询数 据之外,还可以当作表来使用,可以作为数据源, 也可对查询出来的数据进行修改并送回源表中
❖多表查询的创建:步骤 例题 ▪ 若有2张以上的表,在添加时一定要注意先后次 序,“纽带表”要放在两张“父表”之间 ▪ 若已进行了永久性关系的设置,则无须进行联接 ▪ 修改联接条件可在“查询设计器”—“联接”卡 片中进行 ▪ 联接条件和筛选条件类似,都是选出符合条件的 记录;不同的是筛选是将字段值和筛选值进行比 较,而联接条件是将一张表中的字段值与另外一 张表中的字段值进行比较
❖查询时会考到的最难的程度如下例:
查询信息管理系中所有成绩在480分以上,并且各门课程的成
绩不低于70分的学生。要求在查询的结果中包含学号,姓名, 总分,均分,最低分,并按照总分从高到底排列
❖ 一部分查询的练习 1. 查询学生的学号,姓名,系名,总分和平均分, 按照系名升序排序,同一个系的学生按照总分 降序排序。 2. 查询每个系每门课程的总分和平均分,要求输 出课程名,课程代号,系名,每个系的平均成 绩和总成绩,按课程代号升序排序 3. 查询各个系每位教师的课时数,要求输出系名, 工号,姓名,课时数,并按系名升序排序,同 一个系的教师按照工号升序排序 4. 查询计算机科学系各位教师的课时数,要求输 出工号,姓名,系名,课时数,并按工号降序 排序,并且将查询信息保存为表,表名为:
第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、视图的保存与浏览
浏览视图: – 单击工具栏红色感叹号! – 或在视图设计器中右击,选择“运行查询” – 或选择菜单[查询]-[运行查询] 保存视图: – 选择菜单[文件]-[关闭] – 或单击工具栏“保存”按钮
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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) 查询不依附于任何数据库和表文件的存在 而存在,是完全独立的。但视图只能存在于 数据库中,是不能独立的。
4
Visual FoxPro
2.查询设计器的6个选项卡 ( 1 )字段:在“字段”选项卡设置查询结果中要包含的字段, 对应于SELECT命令中的输出字段。在“函数和表达式”编 辑框中,输入或由“表达式生成器”生成一个计算表达式, 如“YEAR(DATE())- YEAR(Xsb.出生日期) AS 年龄”。 ( 2 )联接:如果要查询多个表,可以在“联接”选项卡中设 置表间的联接条件,对应于JOIN ON子句。 (3)筛选:在“筛选”选项卡中设置查询条件。对应于 WHERE子句的表达式。 ( 4 )排序依据:在“排序依据”选项卡中指定排序的字段和 排序方式。对应于ORDER BY子句。 ( 5)分组依据:在“分组依据”选项卡中设置分组条件。对 应于GROUP BY子句。 ( 6 )杂项:在“杂项”选项卡中设置有无重复记录以及查询 结果中显示的记录数等。 由此可见,“查询设计器”实际上是SELECT命令的图形化界 5 面。
8
Visual FoxPro
1.
6.1.4 修改查询文件 选择“文件”菜单中的“打开”选项,指定文件类型为 “查询”,选择相应的查询文件,单击“确定”按钮, 打开该查询文件的查询设计器。 使用命令也可以打开查 <查询文件名>
打开指定查询文件的查询设计器,以便修改查询文件。 2. 根据查询结果的需要,可在 6个查询选项卡中对不同的选 项进行重新设置查询条件。
6
Visual FoxPro
4. 查询设计完成后,选择系统菜单中“文件”下拉菜单的“另存 为”选项,或单击常用工具栏上的保存按钮,打开“另存为” 对话框。选定查询文件将要保存的位置,输入查询文件名, 并单击“保存”按钮。
5.
完成查询操作后,单击“查询设计器”工具栏中的“SQL”按 钮,或从“查询”菜单项中选择“查看SQL”命令,可看到 查询文件的内容。
Visual FoxPro
6.1.2 1. 启动查询设计器,并将学生表添加到查询设计器中。 2. 在查询设计器中单击“字段”选项卡,从“可用字段”列表框 中选择“学号”字段,再单击“添加”按钮,将其添加到 “选定字段”列表框中。使用上述方法将“姓名”、“出生 日期”和“入学成绩”字段添加到“选定字段”列表框中, 这4个字段即为查询结果中要显示的字段。显示结果中显示 字段的顺序,用鼠标拖动选定的字段左边的小方块,上下移 动,即可调整字段的显示顺序。 3. 如果在“排序依据”选项卡中不设置排序条件,则显示结果按 表中记录顺序显示。现要求记录按“入学成绩”的升序显示, 因此在“选定字段”列表框中选择“入学成绩”字段,再单 击“添加”按钮,将其添加到“排序条件”列表框中,再选 择“排序选项”的“升序”单选按钮。
3
Visual FoxPro
6.1
6.1.1 查询设计器 1. 启动查询设计器, ( 1 )选择“文件”菜单下的“新建”选项,然后选择“查询” 并单击“新建文件”打开查询设计器建立查询。 (2)用CREATE QUERY命令打开查询设计器建立查询。 (3)SQL SELECT可以直接编辑.qpr文件建立查询。
11
Visual FoxPro
6.2
视图设计
6.2.1 视图完成的功能 视图是从一个或多个表中导出的,它 不是一个实际的表,只是一个虚拟表定义。 它的数据取自数据库中的表(包括其它视 图)。在数据库中不保存它的数据,只保存 了它的定义。 视图只存放相应的数据逻辑关系,并 不保存记录的内容,但可以在视图中改变记 录的值,然后将更新结果返回到原表。
9
Visual FoxPro
3.
单击常用工具栏上的运行按钮,运行查询文件。单击 “关闭”按钮,关闭浏览窗口。
4. 选择“文件”菜单中的“保存”选项,或单击常用工 具栏上的保存按钮,保存对文件的修改。单击“关 闭”按钮,关闭查询设计器。
10
Visual FoxPro
6.1.5
通常,如果不选择查询结果的去向,系统默认将查询的结果显 示在“浏览”窗口中。也可以选择其他输出目的地,将查询 结果送往指定的地点,例如输出到临时表、表、图形、屏幕、 报表和标签。