vf中查询与视图
VFP第四章查询、视图
Full Join:指定将所有满足和不满足条件的记 录都包含在查询结果中。
❖[字段名]用来设置联接两的字段或表达式. 注: 此外建立联接的字段不一定是表中的索引,除备 注字段和通用字段外,可在任意字段间建立联接.
❖建立视图或查询步骤: ❖第一步:打开数据库,在数据库
中空白处点右键→选择新建本地 视图→选择建立视图需要的表。 如果是查询的话,第一步为:文 件-新建-查询 ❖第二步:选择需要输出的字段 ❖第三步:筛选字段:对于积分 <=1500这个条件分三个地方输
❖第四步:排序: ❖第五步:分组
❖第六步:结果是否发送到另外一 个表中
drop view 删除视图
打开、关闭视图(同表的命令):
USE 视图名 &打开一个视图 USE IN 视图名 &&关闭一个不 在当前工作区的视图 use &&关闭当前工作区的表或视图
例:根据“歌手”表建立视图myview,视图中含有“歌 手号”左边第一位是“1”的所有记录,正确的SQL 语句是()
A.CREATE VIEW myview AS SELECT * FROM 歌 手 WHERE LEFT(歌手号,1)=‘1’
B.CREATE VIEW myview AS SELECT * FROM 歌 手 WHERE LIKE(“1”,歌手号)
C.CREATE VIEW myview SELECT * FROM 歌手 WHERE LEFT(歌手号,1)=‘1’
7.视图的分类:本地视图,远程视图,带 参数视图.
如果题目只给两个空,就填本地视图,远 程视图,
若给三个空,三个都填 . 8:查询有“查询去向”,视图无查询去向
VFP数据查询与视图
5.1 创建查询1. 查询的概念查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。
查询文件:即保存实现查询的SELECT-SQL命令的文件。
查询文件保存时,系统自动给出扩展名 .qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。
查询结果:通过运行查询文件得到的一个基于表和视图的动态的数据集合。
查询结果可以用不同的形式来保存。
查询中的数据是只读的。
查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。
2. 用查询设计器创建查询基本步骤:打开查询设计器→ 添加创建查询所基于的数据表→ 定义输出内容→ 设置联接、筛选、排序、分组条件→ 选择查询结果的输出形式→ 保存查询文件→运行查询。
(1)打开查询设计器方法1:从文件菜单或工具栏上单击新建→ 查询→ 新建文件→ 进入查询设计器方法2:当所用到的数据表已在项目中时,从项目管理器窗口中单击数据→ 查询→ 新建→ 新建查询→进入查询设计器方法3:从命令窗口中输入命令:create query 查询文件名& 创建新查询modify query 查询文件名& 修改已存在的查询(2) 定义查询的输出内容单击字段选项卡→ 从可用字段列表框中单击所需字段(当输出的列不是直接来源于表中的字段时,单击函数和表达式框边的… 按钮,打开表达式生成器,构造出所需的表达式)→ 单击添加按钮→ 所需字段自动出现在选定字段框中。
(3) 设置查询的筛选条件筛选条件决定将哪些记录显示出来。
在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:1) 字符串可以不带引号(当与源表中的字段名相同时才用引号);2) 日期型数值要用{ }括起来;3) 逻辑型数据两侧要带 .号,如 .T.,.F.(4) 设置查询结果的排序依据排序决定查询输出结果中记录显示的顺序。
设置方法:单击排序依据→ 从选定字段框选中字段→ 选择升序或降序→ 单击添加。
vf试图与查询
同
视图与查询 视图与表 1、有更新条件,可修改数据源并且 回存到数据表中2、无查询去向,其 查询结果同一般的数据表文件一 样,可以被当做数据表文件来使用3 1、为打开的视图建立索引,但 视图 、视图以数据库的一部分而保存, 是此索引是临时的,关闭视图 不单独生成文件,且只有在包含该 的同时索引自动删除,这与表 视图的数据库打开时,才能使用视 不同2、视图的建立和删除只影 图 响视图本身,不影响对应的基 1、无更新条件,其查询结果是只读 本表 的,不能回存2、有查询去向,其执 查询 行结果可以存储成多种数据格式3、 其结果以qpr为扩展名的文件单独存 在于磁盘中 可以更新其中的信息,并将更 本质都是SQL语言中的select查询语句;可以 新结果永久保存到磁盘上。操 用来从一个或多个相关联的表中迅速提取符合 作几乎相同,如可以使用浏览 一定条件的信息,其目的都是从数据中迅速获 窗口显示修改记录,可以使用 得所需要的结果 use命令打开关闭
几乎都可以应用在视图上,例如:
除,这与表是不同的。
建立好的视图是数据库的浏览窗口显示和修改视图中的记录。 2)使用USE命令打开或关闭视图。 3)为打开的视图建立索引,但是此索引是临时的,关闭视图的同时索引自动删除,这与表是不同的。 4)以视图为数据源创建新的查询、视图或表单、报表等。 例如打开上例中创建的ST1: USE ST1 BROWSE USE &&关闭视图
第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语句。
VF第5章 查询与视图
查询设计器的操作界面
1)"字段"选项卡,指定所要查询的数据,这时可以 单击 "全部添加" 选择所有字段,也可以逐个选择字 段 "添加";在 "函数和表达式" 编辑框中可以输入或 编辑计算表达式。 2)"联接" 选项卡,编辑数据源之间联接条件。 3)"筛选" 选项卡,指定查询条件。 4)"排序依据" 选项卡,指定排序字段和排序方式。 5)"分组依据" 选项卡,分组。 6)“杂项” 选项卡,指定是否要重复记录(对应于 DISTNCT)及列在前面的记录(对应于TOP短语)等。
查询输出定位
表:将查询结果保存在一个命名的表中。 图形:查询结果可用于 Microsoft Graph
(Graph是包含在VFP中的一个独立应用程序)。
屏幕:在VFP主窗口或当前活动输出窗口中显 示查询结果。 报表:将查询结果输出到一个报表文件( .frx)。 标签:将查询结果输出到一个标签文件( .lbx)。
例1:建立一个含有仓库号、职工号、城市和工资信 息的查询
1)打开查询设计器,选择仓库和职工两个表;在 “联接条件”窗口中,确定联接类型:内部,后单 击 [确定] 按纽;关闭 ”添加表或视图”窗口。
2)从 "可用字段" 中顺序选择仓库表的仓库号、职工 表的职工号、仓库表的城市和职工表的工资字段, 并把它们添加到"选定字段"中。 3)按Ctrl+Q键、单击工具栏中的运行按钮“!”或 者选择 “查询” 菜单下的 “运行查询”,立刻运 行查询并看到查询的结果。
视图设计器和查询设计器的使用方式几 乎完全一样。有以下几点不同: 1)查询设计器的结果是将查询以qpr扩展名 的文件保存在磁盘中;而视图设计完后,在 磁盘上找不到类似的文件,视图的结果保 存在数据库中。 2)由于视图是可以用于更新的,所以它有更 新属性需要设置,为此在视图设计器中多 了一个"更新条件"选项卡。 3)在视图设计器中没有 "查询去向" 问题。
VFP第五章 查询与视图
利用视图向导创建本地视图
用本地视图向导创建本地视图,可采用以下方法:
方法一:“工具”菜单向导全部本地视图向导
方法二:“文件”菜单新建视图向导 方法三:项目管理器选定数据库本地视图新建 视图向导 方法四:数据库设计器数据库菜单新建本地视图 视图向导
利用视图向导创建本地视图
1. 当视图使用的数据源是当前数据库中的表或存在的 视图,则所建立的视图是本地视图; 2. 当数据源采用的是当前数据库之外的其他数据,包 括在当前VFP环境下建立的其他数据库和表,以及 其他的ODBC数据源,则建立的是远程视图。 若希望针对数据库服务器上的ODBC数据源进行 查询,则应该建立远程视图。 所谓ODBC是Open Database Connectivity的 缩写,即开放式数据库连接。它是用于数据库服务 器的一种标准协议(规则),它向应用程序提供访 问数据库服务器上所存放数据库的接口,以便应用 程序访问。
(5)执行查询
① “查询”菜单“运行查询”命令 ②在查询设计器窗口单击右键,快捷菜单“运行 查询”命令 ③ “程序”菜单“运行”命令→ 打开“查询文 件” →“运行”按钮 ④ 命令窗口中执行命令“DO <查询文件名.qpr>
(6) 查询的保存 查询窗口关闭前,以下三种方法可用来保存 查询设置: ① 按Ctrl+W ② 单击窗口右上角“关闭”按钮、双击窗 口左上角、或单击窗口左上角后选定“关闭” 命令,均会出现“确认”对话框 ③ “文件”菜单“保存”命令
二、 将查询结果以图形方式输出
例1 生成“zhggz”的表单,以图形方式输出。 S1:打开职工.dbf,创建一个新查询 S2:设置查询去向为“图形” S3:单击工具栏的“运行”按钮,弹出图形向导的 “步骤2——定义图形布局”对话框 S4:确定数据系列、图例: S4.1:数据系列:将要输出的数值型字段拖到“数 据系列”列表框,可以有多个数据系列。如:工资 等 S4.2:图例:将要显示的字符型字段拖到坐标轴图 形框。如:职工号.
vf第五章查询和视图
联结>选项卡和 筛选>选项卡 二、<联结 选项卡和 筛选 选项卡 联结 选项卡和<筛选 联结条件和筛选条件都可以用来选择记录: 联结条件和筛选条件都可以用来选择记录:二者都先比 较值,然后选出满足条件的记录。 较值,然后选出满足条件的记录。但筛选是将字段值和筛选 值进行比较, 值进行比较,而联接是将一个表中的字段值和另一个表中的 字段值进行比较 。 条件〉列表中选择比较的类型: 〈条件〉列表中选择比较的类型: =: 指定字段值相等。 : 指定字段值相等。 ==:指定字段与实例文本必须逐字符完全匹配 指定字段与实例文本必须逐字符完全匹配。 ==:指定字段与实例文本必须逐字符完全匹配。 Like:指定字段包含与实例文本相匹配的字符。 :指定字段包含与实例文本相匹配的字符。 Is NULL:指定字段包含 NULL值。 : 值 Between:指定字段大于等于实例文本中的低值并小于等 : 于实例文本中的高值。这两个值用逗号隔开。 于实例文本中的高值。这两个值用逗号隔开。 In:指定字段必须与实例文本中逗号分隔的几个样本中的 : 一个相匹配。 一个相匹配。
2012-3-7 10
5.2.6 创建交叉表查询 (自学 自学) 自学
可以在一个类似电子数据表中的交叉表中显示查询结果。 可以在一个类似电子数据表中的交叉表中显示查询结果。 使用[销售情况表 建立交叉表查询: 销售情况表]建立交叉表查询 例:使用 销售情况表 建立交叉表查询: 拖动[产品名称 产品名称]到 行 , 部门 部门]到 列 , 一季度 一季度]到 数据 数据] 拖动 产品名称 到[行], [部门 到[列],[一季度 到[数据 加入总结信息]对话框中通过从 总结” 对话框中通过从“ 在[步骤 3 – 加入总结信息 对话框中通过从“总结”和“分 步骤 类汇总”区域选择合适的项, 类汇总”区域选择合适的项,可以在交叉表查询结果中的最右 边添加一个包含总结信息和小计的列。 边添加一个包含总结信息和小计的列。 选择“保存交叉表查询” 保存交叉表查询后, 选择“保存交叉表查询” 。保存交叉表查询后,可以象其 它查询一样, 查询设计器”中打开并修改它。 它查询一样,在“查询设计器”中打开并修改它。 也可以使用〈成绩〉表建立交叉表查询: 也可以使用〈成绩〉表建立交叉表查询: 拖动“学号” 课程代码” 拖动“学号”到“行”, “课程代码”到“列”, “期 数据” 末”到“数据” 。 将会有许多[NULL]数据) 数据) (将会有许多 数据
VFP课件查询与视图
查询结果排序
排序决定了查询输出结果中记录或行的先后顺序,我们可以通
过“排序依据”选项卡设置查询的排序次序,方法同在用查询向
导设计查询介绍的一样,首先从“选定字段”框中选定要使用的
字段2024/2/24
16
并把它们移到“排序条件”框中,然后利用“排序选项”(从 中选择升序或降序)来设置排序条件。本例中设置Student.学号, 升序为排序依据。
选择筛选字段 设置筛选条件 输入筛选实例 是否区分大小写 设置条件逻辑
在字段名下的下拉选择框中选择“Student.性别”,在“条件”
下的下拉选择框中选择“=”,在“实例”下的文本框中输入.T.,
则查询所有的男生。
2024/2/24
15
在“逻辑”下的下拉选择框中选择“AND”,然后再在字段名下 的下拉选择框中选择“Student.学号”,在“条件”下的下拉选 择框中选择“In”,在“实例”下的文本框中输入“9904,9804” (请注意中间的“,”是En状态下输入的)。
单击
单击【预览】按钮可以显示查询结果。根据要求,设置条件如上图。其中,
虽然表中没有年级字段,但可通过“学号”得到年级(学号的前二位为年
级)202。4/2/24
6
——
查 询 向 导
记
录
排
序
调整排 序顺序
移动按钮
选择排序字段 单击【添加】 选择排序方式 单击
2024/2/24
7
查询向导——限制记录
说明:查询结果中所包含
2024/2/24
14
பைடு நூலகம்
筛选记录
选择表中符合条件的一部分记录而不是全部记录是查询的重要 任务。此例要求从所有学生的信息中选出“学号”前四位为 “9904”和“9804”的所有男生,可以利用查询设计器中的“筛选” 选项卡。“筛选”选项卡可确定用于选择记录的字段和比较准则, 以及输入与该字段进行比较的示例值。
VFP数据库系统Visual FoxPro查询与视图
第八章查询与视图8.1创建查询查询8.1.1利用“查询向导”建立查询⏹在“项目管理器”中选择“数据”选项卡,然后选择“查询”。
⏹选择“新建”。
⏹选择“查询向导”按钮。
⏹选择所建查询的类型。
⏹按照向导屏幕上的指令进行操作。
8.1.2利用查询设计器设计查询1. 在“项目管理器”中,选择“数据”选项卡,然后选择“查询”选项。
2. 单击“新建”按钮,弹出“新建查询”对话框。
3. 单击“新建查询”按钮,添加建立查询的表,选择出现在查询结果中的字段。
4. 设置选择条件来查询给出所需结果的记录。
5. 设置排序或分组选项来组织查询结果。
6. 选择查询结果的输出类型,包括浏览、表、报表等。
7. 运行查询。
8.1.3查询的运行和修改1. 在“项目管理器”的“数据”选项卡中选择要运行的查询文件名,然后单击“运行”按钮即可。
2. 选择查询文件,单击“修改”按钮,打开“查询设计器”窗口,然后选择“查询”菜单下的“运行查询”命令,或者在工具栏选择按钮。
3. 用命令方式运行查询文件,格式为:DO查询文件名。
8.1.4定向输出查询结果⏹浏览:在“浏览”窗口中显示查询结果。
⏹临时表:将查询结果保存在临时表中。
⏹表:将查询结果作为表文件保存起来。
⏹图形:使查询结果可用于Microsoft Graph,图形使包含在Visual FoxPro中的一个独立的OLE应用程序。
⏹屏幕:在活动输出窗口中显示查询结果。
⏹报表:向报表文件发送查询结果。
⏹标签:向标签文件发送查询结果。
8.2创建视图视图8.2.1利用“视图向导”创建视图1. 在“项目管理器”中,选定一个数据库。
2. 选定“本地视图”,选择“新建”按钮。
3. 选择“视图向导”按钮。
4. 按照向导屏幕上的指令操作。
8.2.2用视图设计器创建视图1. 从“项目管理器”中选定一个数据库,展开该数据库。
2. 选择“本地视图”并选择“新建”按钮,弹出“新建本地视图”按钮。
3. 单击“新建视图”按钮,在“添加表或视图”对话框中,选定需使用的表或视图,再选择“添加”。
VF数据库第9章视图与查询操作
精选ppt
5
(3)命令说明:
① <新文件名>是指重新排列后的新数据表文件名.
② 排序规则:
排序关键字,仅能使用当前数据表的字段名,不允许使
用任何类型表达式。字段类型可以是C型、N型、D型、L
型。
如果选择多个字段作为关键字段来进行多重排序,之间
要用英文状态下的逗号“,”分隔。排在最前面的为第一
关键字段,最先排序,第一关键字段值相同,则按第二关
[ASCENDING|DESCENDING] 说明: [OF<非结构复合索引文件名>]:非结构复合索引文件名
例题:
将学生档案表数据表文件按班级和出生日期(索引标识为
BJCSRQ )升序,按性别升序索引(索引标识为XB),建立非
结构化复合索引文件xbbj。
Use 学生档案表
INDEX ON 班级+dtoc(出生日期) TAG BJRQ OF XBBJ
或非压缩的。压缩的单索引文件是非压缩的单索引文件的 六分之一,所以,如果没有兼容问题,一般采用压缩的单 索引文件。
精选ppt
10
(2)复合索引文件(*.CDX) 复合索引文件可以含多个索引标识,其扩展名为“CDX”,
每个索引都有一个索引标识。 复合索引文件为减少占用存储空间,其总是以压缩方式存
储。 复合索引文件可分为结构的和非结构的两种。 结构化复合索引文件与原数据表文件名相同(后缀
说明: ①TAG<索引标识名>:复合索引文件每个索引都必须有一
个索引标识。 ②记录的顺序默认为升序,也可用“Ascending”表示,
降序用“Descending”。 ③当一个复合索引文件中存在多个索引标识的时候,分别
建立,最新建立的索引标识将自动打开并处于主控索引的 位置。 ④ 建立结构化复合索引文件,必须以独占方式打开数据表.因 为,结构化复合索引的标识精符选pp要t 保存到表的结构中去。 18
VF教程第5章查询与视图
限制记录
第5章 查询与视图 章
保存查询文件 VFP提供了三种保存查询文件的方式 提供了三种保存查询文件的方式
第5章 查询与视图 章
5.1.4 查询的使用 修改查询
利用查询设计器修改查询 利用各种文本编辑器打开查询文件, 利用各种文本编辑器打开查询文件,对SQL语句进行 语句进行 编辑修改
第5章 查询与视图 章
第5章 查询与视图 章
在视图的浏览窗口中,将姓名“李小华”改为“李晓华” 在视图的浏览窗口中,将姓名“李小华”改为“李晓华” 。
第5章 查询与视图 章
5.2.4 有关视图的常用命令
1.定义视图命令 定义视图命令 CREATE VIEW <视图名 AS <SELECT 语句 视图名> 语句> 视图名
【注意】对于带有嵌套查询的视图,只能用命令语句建立,不能用视图设计器来建立。 注意】对于带有嵌套查询的视图,只能用命令语句建立,不能用视图设计器来建立。
第5章 章
查询与视图
LOGO
本章内容
5.1
查询
5.2
视图
5.3
查询与视图的区别
第5章 查询与视图 章
5.1 查询 5.1.1 查询的概念
查询是根据用户设定的条件向数据源表发出检索信 息的请求,从中提取符合特定条件的记录。 息的请求,从中提取符合特定条件的记录。 查询就是预先定义好的一个SQL SELECT语句。 查询就是预先定义好的一个 语句。 语句 查询文件的扩展名.QPR 查询文件的扩展名 建立查询有三种方法: 建立查询有三种方法: 使用SQL SELECT语句建立查询 使用 语句建立查询 使用查询设计器建立查询 使用查询设计器建立查询 设计器 使用查询向导建立查询。 使用查询向导建立查询。 向导建立查询
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中查询与视图
视图相关命令
❖ 创建视图的命令 格式:CRATE VIEW <视图名>
❖ 定义视图命令: CREATE VIEW <视图名> AS
❖ 利用视图输出到表 方法:复制视图SQL代码,粘贴至命令框中,并
在语句结尾处加上输出语句:INTO TABLE <表名>
视图与查询的异同点:
视图与查询在功能上有许多相似之处,但又 有各自特点,主要区别如下: ❖ 功能不同:视图可以更新字段内容并返回 源表,而查询文件中的记录数据不能被修改。 ❖ 从属不同:视图不是一个独立的文件而从 属于某一个数据库。查询是一个独立的文件, 它不从属于某一个数据库。
(1)添加数据源,选择所需的表或视图。 (2)选择在查询结果中需要的字段。 (3)设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是报表、表文件、 图表、浏览窗口和表文件等等。 (6)运行此查询。
查询设计器工具栏
“查询设计器工具栏”各按钮的功能如 下: 按钮:添加数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。 按钮:最大化上部分窗口。 按钮:确定查询去向。
视图与查询的异同点:
❖数据源不同:视图必须是在数据库中使用数 据表,而查询的数据源可以是自由表。
❖输出去向不同:视图只能输出到表中,而查 询可以选择多种去向,如表、图表、报表、标 签、窗口等形式。
❖ 使用方式不同:视图只有所属的数据库被 打开时,才能使用。而查询文件可在命令窗口 中执行。
② 在命令窗口中,键入: MODIFY QUERY <查询文件名>
查ቤተ መጻሕፍቲ ባይዱ去向
单击“查询设计器”工具栏中的“查询去 向”按钮或在系统菜单中单击【查询】|【查 询去向】命令,弹出“查询去向”对话框。
VFP 第四章 查询和视图
第二节 视图的创建和使用
视图可以从表中提取一组记录,查看、改变这些记录, 并把更新的数据送回到原表中。 视图具有表和查询的共有特点,视图中的源表数据表 称之为“基表”(Base table) 可以创建两种视图:本地视图和远程视图。 远程视图使用SQL语法从远程数据源表中选择信息, 本地视图使用VFP的SQL语法从视图或表中选择信 息,可以将一个或多个远程视图添加到本地视图。 ODBC(open database connectivity)是一种用于数据库 的标准协议,通过他可访问多上 count(*) as 人数, AVG(table2.score) as “均分”; C)进一步的, 如果还想对查询结果进行记录的筛选,如仅想统 计男生或女生的平均分数及人数,可以在满足条 件选项里选择相应的条件,此时SELECT_SQL语 句会加上 having table1.sex=“男” 7)对查询结果的其他设置 A) “杂项”选项卡包含 《有无重复记录》 B)《设置记录的范围》共有:全部 / n个数 / 百分比 三个选项。 8) 运行查询 “!”按钮 / do example1.qpr / 查询->运 行查询 等方法。
第一节 查询的创建和使用
一:查询的本质 1)查询是指向一个数据源发出检索信息的请求,它 依据一定的条件提取特定的记录,查询运行的结 果是一个基于表和视图的动态 的数据集合。 2)创建查询基于的数据源可以是自由表、数据库表、 或另一个视图。并且常常不止一个表——方能显 出查询优势。 3)一个查询是SELECT_SQL语句,一个查询保存为 一个扩展名为 .qpr的文件。文件中保存的是实现查 询的SELECT_SQL语句(程序),而不是查询结 果。查询和视图本质上都是SELECT_SQL命令的 可视化 的设计方法。
VFP第4章 查询和视图
说明:查询文件的扩展名.qpr不可缺省 说明:查询文件的扩展名 不可缺省
注意事项
没有用到的表不要添加。 没有用到的表不要添加。 “分组依据”的设置(什么时候设?如何设?) 分组依据”的设置(什么时候设?如何设?) 分组依据 “筛选”与“满足条件”的区别。 筛选” 满足条件”的区别。 筛选 “前n个(前百分之 个)”时要排序。 前 个 前百分之n个 时要排序。
详细语法格式
SELECT [ ALL | DISTINCT ] ; [ TOP 数值 [ PERCENT ] ; 输出数据项 [ AS 标题 ] ; FROM 数据源表 ; 联接类型 JOIN 表名 ON 联接条件 ; INTO | TO 输出去向 ; WHERE 筛选条件 ; GROUP BY 分组依据 ; HAVING 分组结果筛选条件 ; UNION [ALL] 另一条SELECT-SQL语句 ; ORDER BY 排序依据
基于单个表的查询示例
表中所有教师的工号和姓名。 【例1】显示 表中所有教师的工号和姓名。 】显示JS表中所有教师的工号和姓名 表中学号以“ 开头的学生情况。 【例2】显示 表中学号以“01”开头的学生情况。 】显示XS表中学号以 开头的学生情况 【例3】基于 】基于KC表查询所有不带删除标记且课时 表查询所有不带删除标记且课时 数超过5或课时数少于 或课时数少于3(不包括5和 )的课程。 数超过 或课时数少于 (不包括 和3)的课程。 要求输出字段为: 要求输出字段为:kcdh、kcm、kss、bxk、xf, 、 、 、 、 , 查询结果按kss降序排序 降序排序。 查询结果按 降序排序。 【例4】统计各个系男女教师的人数,输出字段为: 】统计各个系男女教师的人数,输出字段为: xdh、xb、人数。 、 、人数。
vfp的查询和视图
二、视图的创建和使用
视图的概念:把分散在相关表中的数据通过联 接条件把他们收集到一起,构成一张“虚表”。 这张“虚表”就是视图,视图是数据库的一个组 成部分,是基于表的并且可更新的数据集合
视图与查询的区别:视图除了可以用来查询数 据之外,还可以当作表来使用,可以作为数据源, 也可对查询出来的数据进行修改并送回源表中
❖多表查询的创建:步骤 例题 ▪ 若有2张以上的表,在添加时一定要注意先后次 序,“纽带表”要放在两张“父表”之间 ▪ 若已进行了永久性关系的设置,则无须进行联接 ▪ 修改联接条件可在“查询设计器”—“联接”卡 片中进行 ▪ 联接条件和筛选条件类似,都是选出符合条件的 记录;不同的是筛选是将字段值和筛选值进行比 较,而联接条件是将一张表中的字段值与另外一 张表中的字段值进行比较
❖查询时会考到的最难的程度如下例:
查询信息管理系中所有成绩在480分以上,并且各门课程的成
绩不低于70分的学生。要求在查询的结果中包含学号,姓名, 总分,均分,最低分,并按照总分从高到底排列
❖ 一部分查询的练习 1. 查询学生的学号,姓名,系名,总分和平均分, 按照系名升序排序,同一个系的学生按照总分 降序排序。 2. 查询每个系每门课程的总分和平均分,要求输 出课程名,课程代号,系名,每个系的平均成 绩和总成绩,按课程代号升序排序 3. 查询各个系每位教师的课时数,要求输出系名, 工号,姓名,课时数,并按系名升序排序,同 一个系的教师按照工号升序排序 4. 查询计算机科学系各位教师的课时数,要求输 出工号,姓名,系名,课时数,并按工号降序 排序,并且将查询信息保存为表,表名为:
VFP-第七章查询和视图
➢ 在项目管理器的“数据”选项下选择“查询”, 然后单击“新建”按钮打开查询设计器建立查 询。
查询设计器及添加表及视图窗口
可添加当前数据库中的表或自由表及视图
在查询设置器中添加多个表
1.定向输出查询结果
定向输出查询结果的方法是:
■“查询”菜单中选择“查询去向”
■在“查询设计器”工具栏中选择“查询去向”按钮,在 “查询去向”对话框中选择
2.验证查询
用“查询设计器”生成的查询实际上是一条SQL查 询命令。运行一个查询,实际上是在执行该SQL查询命令
■查看SQL语句
查看方法:单击查询设计器工具栏上的SQL按钮 选择“查询”菜单中的“查看SQL”选项
各选项卡的设置
字段、联接、筛选、排序依据、分组依据、杂项
7.2.2 视图与数据更新
使用视图更新基本表
浏览或运行视图会得到一个临时表,表中数据是从 基本表中提取的,可以更改临时表中的数据,并将更新 结果回送到基本表中,达到更改数据表的目的。
(1)指定可更新的表
(2)指定可更新的字段
“钥匙”列:每个要更新的表至少要设置一个关键字 ,更 新
可以指定是否要输出重复记录及列在前面的记录等。
要指定列在前面的记录时需要在“排列依据”选项卡中设 置排序依据,单击“全部”复选框使其为不选中,然后在 输入记录个数或选中”百分比复选框设置输出百分比。
7.1.2 修改查询
各选项卡设置完成后,将查询保存为查询文件;也可 以再次打开查询设计器进行查询的修改。
(4)“排列依据”选项卡
“排序依据”选项卡用来指定字段、合计函数SUM、 COUNT或其他表达式,设置查询中检索记录的输出顺序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定义视图命令: 定义视图命令: <视图名 视图名> CREATE VIEW <视图名> AS
利用视图输出到表 方法:复制视图SQL代码,粘贴至命令框中, SQL代码 方法:复制视图SQL代码,粘贴至命令框中,并 在语句结尾处加上输出语句: <表名 表名> 在语句结尾处加上输出语句:INTO TABLE <表名>
视图与查询的异同点: 视图与查询的异同点:
视图与查询在功能上有许多相似之处, 视图与查询在功能上有许多相似之处,但又 有各自特点,主要区别如下: 有各自特点,主要区别如下: 功能不同: 功能不同:视图可以更新字段内容并返回 源表,而查询文件中的记录数据不能被修改。 源表,而查询文件中的记录数据不能被修改。 从属不同: 从属不同:视图不是一个独立的文件而从 属于某一个数据库。查询是一个独立的文件, 属于某一个数据库。查询是一个独立的文件, 它不从属于某一个数据库。 它不从属于某一个数据库。
视图是一个定制的虚拟逻辑表,视图中 视图是一个定制的虚拟逻辑表, 只存放相应的数据逻辑关系,并不保存表的 只存放相应的数据逻辑关系, 记录内容,但可以在视图中改变记录的值, 记录内容,但可以在视图中改变记录的值, 然后将更新记录返回到源表。 然后将更新记录返回到源表。
视图相关命令
创建视图的命令 格式: <视图名 视图名> 格式:CRATE VIEW <视图名>
查询设计器工具栏
“查询设计器工具栏”各按钮的功能如 查询设计器工具栏” 下: 按钮:添加数据库表。 按钮:添加数据库表。 按钮:移去数据库表。 按钮:移去数据库表。 按钮:添加数据库表间的联接。 按钮:添加数据库表间的联接。 按钮:显示SQL窗口。 SQL窗口 按钮:显示SQL窗口。 按钮:最大化上部分窗口。 按钮:最大化上部分窗口。 按钮:确定查询去向。 按钮:确定查询去向。
查询的修改
① 选择【文件】|【打开】命令,在“打开” 选择【文件】 打开】命令, 打开” 对话框中,选择所要修改的查询文件,单 对话框中,选择所要修改的查询文件, 击“确定”按钮,进入“查询设计器”窗 确定”按钮,进入“查询设计器” 口中修改。 口中修改。 ② 在命令窗口中,键入: 在命令窗口中,键入: MODIFY QUERY <查询文件名> <查询文件名 查询文件名>
视图与查询的异同点: 视图与查询的异同点:
数据源不同: 数据源不同:视图必须是在数据库中使用数 据表,而查询的数据源可以是自由表。 据表,而查询的数据源可以是自由表。 输出去向不同:视图只能输出到表中, 输出去向不同:视图只能输出到表中,而查 询可以选择多种去向,如表、图表、报表、标 询可以选择多种去向,如表、图表、报表、 签、窗口等形式。 窗口等形式。 使用方式不同:视图只有所属的数据库被 使用方式不同: 打开时,才能使用。 打开时,才能使用。而查询文件可在命令窗口 中执行。 中执行。
查询的运行
运行查询的方法有以下5 运行查询的方法有以下5种: ① 在“查询设计器”窗口中,选择【查询】 查询设计器”窗口中,选择【查询】 |【运行查询】命令。 运行查询】命令。 ② “命令”窗口中,键入 DO <查询文件名 命令”窗口中, <查询文件名 > 。例如,DO 查询1.qpr。 例如, 查询1.qpr 1.qpr。
查询去向
单击“查询设计器”工具栏中的“ 单击“查询设计器”工具栏中的“查询去 向”按钮或在系统菜单中单击【查询】|【查 按钮或在系统菜单中单击【查询】 询去向】命令,弹出“查询去向”对话框。 询去向】命令,弹出“查询去向”对话框。 查询去向包括:临时表、表、文本文件 查询去向包括:临时表、
建立视图
查询的数据源可以是自由表、数据表或视图。 查询的数据源可以是自由表、数据表或视图。
查询的设计过程
在创建查询时,用“查询向导”或“查询设计器” 查询向导” 查询设计器” 在创建查询时, 创建查询。通常可以遵循以下六个步骤来创建查询。 创建查询。通常可以遵循以下六个步骤来创建查询。 (1)添加数据源,选择所需的表或视图。 添加数据源,选择所需的表或视图。 (2)选择在查询结果中需要的字段。 选择在查询结果中需要的字段。 (3)设置查询记录的条件。 设置查询记录的条件。 (4)设置排序及分组条件来组织查询结果。 设置排序及分组条件来组织查询结果。 (5)选择查询输出类别,可以是报表、表文件、 选择查询输出类别,可以是报表、表文件、 图表、浏览窗口和表文件等等。 图表、浏览窗口和表文件等等。 (6)运行此查询。 运行此查询。
数据查询与创建视图
数据查询与视图
1
计器
查询:就是预先定义好的一个SQL SELECT语 查询:就是预先定义好的一个SQL SELECT语 查询是以扩展名为.QPR .QPR的文件保存在磁 句。查询是以扩展名为.QPR的文件保存在磁 盘上的。查询有输出定向的语句。 盘上的。查询有输出定向的语句。