1.查询的设计过程
创建查询时,通常可以按照以下几个步骤来创建查询文件:
(1)使用“查询设计器”或“查询向导”创建查询。
(2)选择在查询中要用到的数据表,数据表可以是数据库表也可以是自由表。
(3)选定查询中需要的字段。
(4)设置查询记录的条件;设置输出排序条件;设置分组条件来规定查询结果。
(5)选择查询输出去向,可以是浏览、临时表、表、图形、屏幕、报表、标签等。
(6)执行查询文件。
其中第(4)、(5)步可以省略,其他几个步骤不能省略必须做。要设计一个查询文件,首先必须明确查询的目的是什么,即想要得到哪些数据结果,并以什么方式存在,或者想要得到满足某些条件的特定记录,或者想要知道某些记录的字段值组合成的表达式,明确了输出的数据要求后,就可以开始设计查询。
2.用查询向导设计查询
(1)利用查询向导设计单表查询。
图4-47
【例4-7】利用查询向导设计查询,要求查询教师名字为“刘成”的教师信息。查询的文件名是“查询刘成.QPR”。主要操作步骤说明如下:
1)单击VFP常用工具栏的“新建”按钮→单击“查询”单选钮→单击“向导”按钮,如图4-47所示。
2)选择“查询向导”选项→单击“确定”按钮,如图4-48所示。
3)在“步骤1-字段选取”画面中选择数据库和表选项,选择“教师”表,在“可用字段”选项的框中双击想要的字段,双击“编号”、双击“姓名”、双击“性别”、双击“工作时间”,如图4-49所示。
图4-48
图4-49
4)单击“下一步”按钮,跳过“步骤2-”,在“步骤3-筛选记录”画面中,单击“字段”下拉列表框的向下黑三角,双击“姓名”字段,在操作符下拉列表框选择“等于”,在“值”框中输入“刘成”(需要强调的是名字“刘成”的两边的双引号一定是纯英文的双引号), 如图4-50所示。
5)单击“下一步”按钮,在“步骤4-排序记录”画面中不选择排序记录→单击“下一步”按钮,如图4-51所示。
6)在“步骤5-完成”画面中,如图4-52所示。单击“预览”按钮,查看查询的预览结果。
图4-50
图4-51
如果查询预览结果有疑问返回到前面操作步骤。单击“上一步”按钮,检查修改重做。如果查询预览结果正确单击“完成”按钮。
7)在文件“另存为”画面中,如图4-53所示。文件名框中输入“查询刘成”的文件名,文件名的扩展名为.QPR,单击“保存”按钮。把查询文件保存到磁盘上。
图4-52
图4-53
8)执行查询文件,在命令窗口中输入如下命令:
图4-54
则出现查询文件的浏览窗口。显示名字为“刘成”教师的部分信息,如图4-54所示。
(2)利用查询向导设计多表查询。
【例4-8】利用查询向导设计查询,要求查询教师的名字“刘成”的教师讲授的课程信息。查询的文件名是“刘成授课信息”。主要操作步骤说明如下:
1)单击VFP常用工具栏的“新建”按钮→单击“查询”选项→单击“向导”按钮 →单击“查询向导”选项→ 单击“确定”按钮,参见图4-47、图4-48所示。
2)在“步骤1-字段选取”画面中,在选择数据库和表选项中单击的“教师”表,在“可用字段”选项的框中双击想要的字段,双击“编号”、双击“姓名”(或单击“姓名”然后单击旁边的向右指蓝色三角)、双击“性别”,再次单击“数据库和表”选择想要的“业务信息”表,在“可用字段”选项的框中双击想要的字段,双击“教授课程”,单击“下一步”按钮,如图4-55所示。
3)在“步骤2-为表建立关系”,VFP自动带入数据库中的永久关系,若修改默认的关系单击第一个、第二个框中的向下黑三角选择字段进行修改,然后单击“添加”按钮→单击“下一步”按钮,如图4-56所示。
图4-55
图4-56
在“步骤2a-字段选取”画面中→单击“下一步”按钮,如图4-57所示。第一个单选钮相当于内部连接,第二个单选钮相当于左连接,第三个单选钮相当于右连接,第四个单选钮相当于完全连接。
4)在“步骤3-筛选记录”画面中,单击字段下拉列表框的向下黑三角,双击“姓名”字段,在操作符下拉列表框选择“等于”,在“值”框中输入“刘成”→单击“下一步”按钮,如图4-58所示。
图4-57
图4-58
5)在“步骤4-排序记录”画面中不选择排序记录字段→单击“下一步”按钮,如图4-59所示。
6)在“步骤5-完成”画面中,单击“预览”按钮,查看查询预览结果,关闭预览窗口。如果查询预览结果有疑问返回到前面操作步骤进行修改。单击“上一步”按钮,检查重做,如图4-60所示。
图4-59
图4-60
7)如果查询预览结果正确单击“完成”按钮,进入文件“另存为”画面中,在文件名框中输入“刘成授课信息”的查询文件名。文件名的扩展为.QPR,单击“保存”按钮。把查询文件保存到磁盘上,如图4-61所示。
8)执行查询文件,在命令窗口中输入如下命令:
图4-61
DO 刘成授课信息.QPR
则出现执行查询文件后的浏览窗口。显示教师“刘成”的授课信息,如图4-62所示。
图4-62
3.用查询设计器设计查询
有多种方法来启动查询设计器:
(1)“项目管理器”方法启动查询设计器。在“项目管理器”中选择“数据”选项卡,再单击“查询”选项,再单击“新建”按钮,选择“新建查询”就进入查询设计器方式。
(2)“菜单”方法启动查询设计器。在 VFP系统菜单选择“文件”→单击“新建”选项→单击“查询”选项→单击“新建文件”按钮,就启动了查询设计器。
(3)工具栏”方法启动查询设计器。单击VFP常用工具栏中的“新建”按钮→单击“查询”。
选项→单击“新建文件”按钮,就启动了查询设计器。
(4)命令方法启动查询设计器。在命令窗口输入下面的命令:
1)CREATE QUERY。
2)CREATE QUERY 查询文件名。(www.xing528.com)
都可启动“查询设计器”。
假设要建立一个查询文件,通过上面的方法之一来启动“查询设计器”。启动“查询设计器”以后首先要选择数据表,单击数据表→然后单击“添加”按钮→单击“关闭”按钮。这时就在查询设计器下部分的窗口中出现几个选项卡,其含义简述如下:
1)“字段”:用来选定包含在查询结果中的字段,必选项。
2)“联接”:用来确定各数据表的联接关系,可选项。
3)“筛选”:查找符合条件的记录,可选项。
4)“排序依据”:让查询结果重新排列顺序,按排序依据要求输出记录,可选项。
5)“分组依据”:所谓分组就是将字段相同分在一组,这样就可以完成基于一组的统计计算,将一组内的多条记录压缩成一条统计结果记录,可选项。
6)“杂项”:确定是全部输出记录,还是输出部分记录,可选项。
这里讲的查询选项卡与前面讲的视图选项卡基本是一样的,区别一点的是查询选项卡中没有“更新条件”选项卡。
(1)用查询设计器设计单表查询。
【例4-9】利用查询设计器设计查询,要求查询是“党员”的教师信息。查询的文件名是“党员.QPR”。主要操作步骤说明如下:
1)单击VFP常用工具栏的“新建”按钮→单击“查询”选项→单击“新建文件”按钮,如图4-47所示。
2)在添加表或视图窗口中,选择数据表,在可用数据表选项的框中双击想要的数据表,双击“教师”表(或单击“教师”表,然后再单击“添加”按钮)→单击“关闭”按钮,关闭“添加表或视图”窗口,如图4-63所示。
3)在可用字段选项的框中双击需要的字段,双击“编号”、双击“姓名”(或单击“姓名”然后单击“添加”按钮)、双击“性别”、双击“党员否”,如图4-64所示。
图4-63
图4-64
4)单击“筛选”选项卡,单击“字段名”下拉列表框的向下黑三角,双击“党员否”字段,在“条件”下拉列表框选择“=”,在“实例”编辑框中输入 .T.,如图4-65所示。
5)单击常用工具栏的运行“!”按钮,查看查询的预览结果,如图4-66所示。
图4-65
如果对查询预览结果有疑问返回到前面操作步骤。单击“字段”选项卡或单击“筛选”选项卡修改字段或筛选条件,检查重做。如果查询预览结果正确,单击查询预览窗口的“关闭”按钮,回到“查询设计器”状态。
图4-66
图4-67
6)单击“查询设计器”“关闭”按钮,出现如图4-67所示的画面,单击“是”按钮,在文件“保存为”画面中,文件名框中输入“党员”的文件名。文件名的扩展为.QPR,单击“保存”按钮。把查询文件保存到磁盘上,如图4-68所示。
图4-68
7)执行查询文件,在打开“查询设计器”状态下,按快捷键Ctrl+Q,或在命令窗口中输入如下命令:
则出现执行查询文件后的浏览窗口。显示查询是“党员”的教师信息。查询的结果与预览结果一样,如图4-66所示。
(2)用查询设计器设计多表查询。
【例4-10】利用查询设计器设计查询,要求查询教师是“年龄>40”的教师所教的学生人数信息以及教师的职称。查询的文件名是“教师年龄与学生人数.QPR”。主要操作步骤说明如下:
1)单击VFP常用工具栏的“新建”按钮→单击“查询”选项→单击“新建文件”按钮→在添加表或视图窗口中,选择数据表,在可用数据表选项的框中双击想要的数据表,双击“教师”表(或单击“教师”表,然后单击“添加”按钮)→双击“业务信息”表 →双击“专业信息”表,单击“关闭”按钮,如图4-69所示。
图4-69
2)在可用字段选项的框中双击想要的字段,双击“编号”、双击“姓名”(或单击“姓名”然后单击“添加”按钮)、双击“性别”、双击“年龄”、双击“职称”、双击“学生人数”,如图4-70所示。
图4-70
3)单击“筛选”选项卡,单击字段下拉列表框的向下黑三角,双击“年龄”字段,在条件下拉列表框选择“>”,在“实例”框中输入“40”,如图4-71所示。
4)单击VFP常用工具栏的运行“!”按钮,如图4-72所示。查看查询预览结果。如果查询预览结果有疑问返回到前面操作步骤中。单击“字段”选项卡或单击“筛选”选项卡来修改字段和筛选条件,修改检查重做。如果查询预览结果正确,单击查询预览“关闭”按钮。
图4-71
图4-72
5)单击“查询设计器”的“关闭”按钮,出现错误提示框,原因是数据库中的永久关系在这里行不通,要重新建立表间关系。单击“确定”按钮,关闭当前窗口,如图4-73所示。接着又出现如下画面,如图4-74所示。单击“是” 按钮,关闭当前窗口,然后再关闭显示SQL命令窗口。
图4-73
图4-74
单击“联接”选项卡,单击“教师”表与“专业信息”表之间的连线,连线变粗。如图4-75所示。
再次双击“教师”表与“专业信息”表之间的变粗的连线,出现如下画面,双击第一个输入框向下的黑三角修改关系,选择“业务信息.编号”,单击“确定”按钮,如图4-76所示。
图4-75
图4-76
表间连线已经改变,如图4-77所示。
图4-77
关闭“查询设计器”窗口,如图4-78所示。
单击“是”按钮,出现文件“另存为”画面,如图4-79所示。
图4-78
图4-79
在文件名框中输入“教师年龄与学生人数”的文件名。文件名的扩展名为.QPR,单击“保存”按钮,就把查询文件保存到盘上。
6)执行查询文件,在命令窗口中输入如下命令:
则出现执行查询文件的浏览窗口。显示查询结果是教师年龄大于40岁的部分教师和他们的职称以及所教的学生人数等信息,如图4-72所示。
多表查询的“联接类型”有 4种类型,它们代表的含义如下:
①内部连接(Inner Join):在查询结果中只显示满足条件的记录、默认方式。
②右连接(Right Outer Join):查询结果除显示满足条件的记录外,还显示条件右侧表中不满足条件的记录。
③左连接(Left Outer Join):查询结果除显示满足条件的记录外,还显示条件左侧表中不满足条件的记录。
④完全连接(Full Join):查询结果是两个表的笛卡儿乘积,显示所有满足以及不满足条件的记录。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。