第四章 查询和视图.docx
- 文档编号:25048097
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:8
- 大小:19.17KB
第四章 查询和视图.docx
《第四章 查询和视图.docx》由会员分享,可在线阅读,更多相关《第四章 查询和视图.docx(8页珍藏版)》请在冰豆网上搜索。
第四章查询和视图
第四章查询和视图
从本章开始,我们将开始学习VisualFoxPro面向应用开发的工具。
视图:
不是一个图,而是你观察表的一个窗口,帮助你在表中查看想看的内容。
查询:
帮助你从表中查出所要查找的内容。
4.1查询的创建和使用
4.1.1查询的本质
所谓“查询”,是指向一个数据库发出检索信息的请求,它使用一些条件提取特定的记录。
创建查询必须基于确定的数据源。
从类型上讲,数据源可以是自由表、数据库表或视图。
从数量上讲,源表可以是单张表或多张表。
4.1.2查询设计器
一、打开查询设计器
单击“文件”菜单中“新建”,单击选择“查询”单选钮,再单击“新建”按钮。
“添加表或视图”对话框:
为新建一个查询而进入查询设计器时,将首先打开这个对话框。
使用它可以为查询设计器添加设计查询所需的表或视图。
1.在“数据库”下拉列表框中列出了已经打开的数据库。
默认的选择是当前数据库,但允许选择其它数据库。
2.“选定”单选按钮组用于确定在“数据库中的表”列表框中,显示表还是显示视图,当选择“表”时显示当前数据库中的表。
当选择“视图“时显示当前数据库中的视图。
3.“数据库中的表”列表框中显示了当前数据库中的表或视图。
双击其中的表或视图选项可将其添加到查询设计器中,也可以先单击选择一个选项再单击“添加”按钮。
4.“其它”按钮用于选择一个自由表。
5.“关闭”按钮,当添加了一个表或视图后,这个对话框并不能自动关闭,可以再添加另一个表或视图。
只有单击“关闭”按钮才可以关闭这个对话框。
(在关闭此对话框后还要添加表或视图,单击“查询”菜单中的“添加表”即可。
查询设计器的快捷菜单中和查询设计器工具栏中也有这个工具按钮。
)
二、定义查询的输出内容
在“字段”选项卡里要为查询选择字段。
可以使用“添加”和“全部添加”把“可用字段”列表框中,使用“移去”和“全部移去”把“选定字段”列表框中的字段移去。
此外,还可以使用:
“函数和表达式”文本框:
用于输入一个函数或表达式,生成一个虚拟字段。
如:
输入:
trim(表1.姓)+”.”+trim(表1.名)as姓名
其中:
trim()函数用于截去字符串尾部的空格。
“as姓名”指定这个虚拟字段的列表头显示为姓名。
三、设置查询的筛选条件
“筛选”选项卡,用于设置筛选记录的条件。
字段名:
在这个下拉列表框中可以选择一个筛选表达式需要的字段名。
否:
这是一个选择按钮。
选择它时,按钮上有对勾标记。
此时可把“条件”反转。
条件:
在下拉列表框中可以选择一种比较类型,用于比较字段和“实例”。
实例:
在这个文本框中输入一个用于和字段相比较的值。
大小写:
当选择了这个选择按钮时,比较时不区分大小写。
逻辑:
当还有下一个表达式时,可在这个下拉列表框中选择一个连接两个表达式的逻辑操作符,它们是AND和OR。
例如:
设置第一个表达式:
hire_date>={01/01/93}andcountry=”china”(不区分大小写)
四、设置查询结果的排序依据
在“排序依据”选项卡中:
查询的浏览窗口中将按“排序条件”列表框中的字段联合排序,“排序条件”列表框中顺序决定了排序的优先权。
五、设置查询结果的分组依据
针对表中的数值型字段,我们这里所指的是货币型、数值型、双精度型、浮点型和整型这些可以进行数值计算的字段。
当需要对这些字段执行计算时,可以使用查询配合“分组依据”进行计算处理。
在“分组依据”选项卡中:
1.设置分组字段
2.满足条件:
单击“满足条件”按钮可进入“满足条件”对话框,可以设置记录组的选择条件。
用“运行查询”打开这个查询的浏览窗口,可以看到这个分组求和查询运行的结果。
六、对查询结果的其他设置
在“查询设计器”对话框中的“杂项”选项卡中
1.排除查询结果中所有重复的行
2.设置结果的记录范围
(1)全部(all)
(2)前n个记录(topn)
(3)前n%个记录(npercent)
七、运行查询
1.在查询设计器中运行当前正在设计的查询,最方便快捷的方法是使用常用工具栏中的运行工具按钮“!
”
2.命令窗口中键入:
DO查询1.QPR.。
八、选择查询结果的输出类型
●浏览:
将查询结果定向到浏览窗口中显示。
●临时表:
将查询结果保存于临时表中。
这个临时表为只读,可在“数据工作期”窗口中访问。
●表:
将查询结果保存在指定的表文件中。
●图形:
使用MicrosoftGraph把查询的结果生成一个图形。
●屏幕:
将查询结果输出到屏幕、打印机或文凭中。
●报表:
查询结果作为数据源发送报表文件。
●标签:
查询结果作为标签文件的数据源发送给标签文件。
4.1.3设计多表查询
多表查询:
一个视图中的字段来源于两个或两个以上的表。
建立多表视图是通过表间的关系来实现的。
在视图中的表间关系,既不像数据库表的永久关系也不像表间的临时关系。
它不靠索引字段联接起来,而只是靠定义一个联接表达式。
在查询设计器中设计多表查询:
联接选项卡:
当有多个表添加到查询设计器中后,可建立表间联接。
(有二种方法:
)
1.当第二个表或第二个以后的表添加到查询设计器中后,查询设计器会把新添加的表和已经存在的表比较,找到它们之间的共同字段,并进入“联接对话框”,用户可修改联接条件。
在查询设计器上部的窗格中可以看到建立联接的两表间的连线。
2.在“联接”选项卡中设置:
字段名:
选择联接条件的第一个字段。
否:
这是一个选择按钮。
选择它时,按钮上有对勾标记。
此时可把“条件”反转。
条件:
在下拉列表框中可以选择一种比较类型,用于比较字段和“值”。
值:
在这个下拉列表框中可选择联接条件的第二个字段。
逻辑:
在设置多个联接条件时,可在这个下拉列表框中选择一个连接两个表达式的逻辑操作符,它们是AND和OR。
类型:
可在这个下拉列表框中选择联接条件的类型:
InnerJoin:
即内部联接,为默认、常用类型。
查询中只显示满足联接条件的记录。
RightOuterJoin:
即为右联接。
查询中只显示满足联接条件的记录和联接条件右侧表中不满足联接条件的记录。
LeftOuterJoin:
即为左联接。
查询中只显示满足联接条件的记录和联接条件左侧表中不满足联接条件的记录。
FullJoin:
即为完全联接。
查询中显示所有满足和不满足联接条件的记录。
3.编辑“联接条件”:
进入“联接条件”对话框编辑联接条件,可单击“联接”选项卡中当前联接条件行的第二个按钮或双击联接连线。
举例:
1.查询教师表中基本工资在800元以上(含800元)的教师的工号、姓名和基本工资情况,按系代号升序排序,同一个系的教师按基本工资的降序排序。
2.显示JS表中所有教师的工号和姓名。
3.显示XS表中学号以99开头的学生情况。
4.从高到低显示CJ表中代号为“01”的课程的学生的学号和成绩。
5.显示XS和ZY两张表中三个字段XH、XM、ZYMC的内容,并根据ZYDH字段联接两张表。
6.显示CJ表中有不及格课程成绩的学生的学号和姓名,有多门课程不及格的学生只显示一次。
7.显示CJ表中课程代号及最高分。
8.查询每门课程的课程代号和名称以及最高分,并把查询结果保存了到KC_MAX-CJ.DBF表文件中。
9.查询教师表中各系教师的人数、工资总额和平均工资,并按平均工资降序排序。
查询输出中必须包含系名、系人数、工资总额和平均工资四个列。
10.查询信息管理系中所有成绩总分在480分以上,并且各门课程的成绩不得低于70分的学生。
要求在查询结果中包含学生的学号、姓名、总分、平均分和最低分,并按照总分从高到低排列。
4.2视图的创建和使用
视图和查询有着许多相同之处。
视图的目的是为操作表提供一种有效的、安全的手段;而查询的目的是为了获得查询的结果。
视图和查询的异同主要表现在以下若干方面:
●视图和查询都是用SQL语言实现的。
●视图和查询的结果都可以在浏览窗口中查看。
●视图保存在数据库中,而查询单独保存在文件中。
●视图可以作为数据源被引用,而查询只能一次获得结果并输出。
●视图在数据库中以打开的方式访问,而查询可在命令窗口中执行。
●视图可以更新字段内容并返还给源表,而查询不能。
●视图可以直接访问远程多种数据源,而查询直接不能访问。
查询设计器和视图设计器有以下不同之处:
●查询设计器中没有视图设计器中“更新条件”选项卡。
●查询设计器中,在“查询”菜单中有“查询去向”选项,而视图设计器则没有。
4.2.1本地视图
视图也是数据库中的一类对象。
在数据库设计器中,视图和表一样拥有自己的一个小窗口。
但是视图本身并不具有自己的数据和自己的字段,视图中的字段都是取自别的数据库表或自由表。
视图可以把不同数据库中的表、自由表和视图中的字段取来,组合在一起溶为一体,而却感不到在同时和多个表打交道。
它提供给用户一个在数据库表和自由表基础上灵活组织数据的手段。
在VisualFoxPro中视图可分为本地视图和远程视图。
本地视图的字段取自本地文件系统中的数据库表、自由表或本地视图。
在“数据库设计器”窗口中或在“数据工作期”窗口中,可以象打开一个表那样,打开一个视图的浏览窗口。
在视图的浏览窗口中,对表的常用操作功能对视图同样有效。
当一个表允许若干不同级别用户查看,而各个用户被许可查看的字段不同,这时可用视图控制不同的用户查看同一个表的不同的字段。
操作视图实际是在操作由视图定义的一个临时表。
当关闭视图时,这个临时表也就消失了,并不保存在磁盘中。
4.2.2使用视图更新源表数据
操作表时可以对表中存储的数据进行修改。
使用视图操作表中的数据时也可以修改字段的内容并把修改返回给予字段所在表。
(在向导中无法实现)
视图设计器的“更新条件”选项卡用于设置允许使用视图更新表字段的条件。
各选项作用:
1.表:
选择这个下拉列表框中的选项,可以确定哪些表的字段可以列在“字段名”列表框中,以便设置更新条件。
这些选项是在“字段”选项卡中,“选定字段”列表框中有其字段的那些表。
2.字段名:
这个列表框中显示了在“表”下拉列表框中所选表中的字段。
这些字段是在“字段”选项卡中,在“选定字段”列表框中的字段。
3.重置关键字:
这个按钮用于把每个表的主关键字字段设置为视图的关键字字段。
主关键字字段是“字段名”列表框中在钥匙符号下面打了对勾标记√的字段。
关键字字段的设置使视图中的修改与表中的原始记录相匹配。
4.全部更新:
这个按钮用于把除了关键字字段以外的所有字段设置为可更新。
视图可更新的字段是在“字段名”列表框中在铅笔符号下面打了对勾标记√的字段。
发送SQL更新。
当选择了这个复选框时,将把在视图中对记录字段的修改返还给原始表。
4.2.3创建参数化视图
在为“数据1”这个数据库而打开的数据库设计器中,右单击视图,在弹出的快捷菜单中单击“修改”,将为修改视图6而进入视图设计器中。
1.在“筛选”选项卡中,在“字段名”下拉列表框中选择country字段,在“条件”下拉列表框中选择“=”,在“实例”文本框中输入:
?
输入一个雇员所在国。
这个问号表示将引用一个表达式所需要的参数。
问号后的文字标识了这个参数的名称。
2.单击“查询”菜单中的“视图参数”,进入“视图参数”对话框,在这个对话框中:
参数名:
在这个文本框中输入参数名称,这个名称要和引用这个参数时定义的参数名称相对应。
类型:
在这个下拉列表框中选择一个参数的数据类型。
插入:
这个按钮用于在当前的参数行之前插入一空行。
删除:
这个按钮用于删除当前的参数行。
在视图设计器中,在使用表达式的地方都可以设置参数。
它们都要和“视图参数”中设置的参数名称和参数类型对应起来。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第四章 查询和视图 第四 查询 视图