VF 查询与视图设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可以从本地表、其他已建立的视图、储存 在服务器上的表或远程数据源中的表创建 视图,因此视图可以分为本地视图和远程 视图。 本节主要讨论本地视图。 视图可以查询表中信息,也可以更新表中 的记录值。然而视图是数据库中的一个特 有功能,只有当包含视图的数据库打开时, 视图才可以使用。
6.2.2 视图设计器
6.1.2 建立查询
例6-1: 在学生、选课成绩和课程三个表中设 计查询,要求:只查询出学生所修课程号 是以“G”开头的课程,并以课程号分组, 统计出各组的期末分的平均值,并且只显 示期末分>=80的记录,按课程名称的降序 排列,最后输出学号、姓名、课程号、课 程名称等字段和期末平均分计算字段。 1.启动查询设计器,将学生、选课成绩和课 程3个表添加到查询设计器中,并建立这3 个表的联接,打开如图6-2建立查询的设计 器窗口。
⑵ 利用菜单选项运行 当在查询设计器中保存查询文件后,或保 存查询文件后关闭查询设计器,单击“程 序”菜单中的“运行…”命令,打开“运行” 对话框,选中要运行的查询文件,单击 “运行”按钮,可显示查询结果。 ⑶ 利用命令方式运行 在命令窗口中输入运行查询文件的命令, 其格式为:DO <查询文件名> 注意:查询文件名不能省略扩展名.QPR。
6.1 查询设计
查询可以实现对数据库中数据的浏览、筛 选、排序、检索、统计及加工等操作;利 用查询可以为其他数据库提供新的数据表, 可以从单个表中提取有用的数据,也可以 从多个表中提取综合信息。 然后按需要定向输出查询的结果,查询结 果输出类型有:浏览器、表、临时表、报 表、标签、屏幕等。查询是以扩展名为 QPR的文本文件保存在磁盘上,它的主体 是SQL SELECT语句以及与定向输出有关的 语句。
图6-18 查询去向对话框
查询去向的具体含义如下: ⑴ 浏览:在浏览(BROWSE)窗口中显示 查询结果,此选项为默认方式。 ⑵ 临时表:将查询结果保存到一个临时的 只读表中。
表:将查询结果保存到一个指定的表(.DBF) 中。 图形:将查询结果输出到图形文件 (Microsoft Graph)中,Graph是包含在 Visual FoxPro中的一个独立的应用程序。 屏幕:将查询结果输出到Visual FoxPro主窗 口或当前活动窗口中。 报表:将查询结果输出到一个报表文件 (.FRX)中。 标签:将查询结果输出到一个标签文件 (.LBX)中。
查询基于多个表时,表之间必须有联系。 查询设计器自动根据联系提取联接条件, 否则还会打开一个指定联接条件的对话框, 由用户来确定联接条件,如图6-3所示的联 接条件对话框。
图6-3 联接条件对话框
2.查询设计器的选项卡 查询设计器界面有6个选项卡,其功能和 SQL SELECT语句的各个短语是相对应的。 前面已经选择了设计查询的表或视图,对 应于FROM短语。 ⑴ 字段:在该选项卡中设置查询结果中要包 含的字段,对应于SELECT短语中的输出字 段,在“可用字段”列表框中选中要显示 的字段,添加到“选定字段”列表框中; 如果要输出全部字段,单击“全部添加” 按钮;在“函数和表达式”编辑框中可以 输入、编辑或由“表达式生成器”生成一 个计算表达式,由此生成一个计算字段。
打开如图6-1“添加表或视图”对话框,选 择用于建立查询的表或视图。选中所需要 的表或视图,单击“添加”按钮将表或视 图添加到查询设计器中。当选择完表或视 图后,单击“关闭”按钮进入查询设计器 界面 如图6-2。
图6-1 为查询添加表或视图
添加“学生”、“选课成绩”、“课程”三 个表
图6-2 查询设计器窗口
6.2 视图设计
6.2.1 视图的概念 视图是一种虚表,兼有“表”和“查询” 两者的特点。视图具有表的属性,视图的 打开与关闭、设置属性、修改结构以及删 除等,都与表的操作相同。视图又具有查 询的特点,可以从一个或多个相关联的表 中提取信息,与查询不同之处在于视图可 以更新数据源表,而查询不能。视图可以 用来更新其记录的值,并将更新结果送回 到基本表(即源表)中并永久百度文库存在磁盘 上。
创建计算字段“期末平均分”
图6-4 表达式生成器
添加字段以及计算字段
图6-5 选定的字段及计算字段
单击“查询设计器”工具栏上的“SQL”按钮, 可以显示和该操作相对应的SQL命令: SELECT 学生.学号, 学生.姓名, 课程.课程号, 课程.课程名称, AVG(选课成绩.期末分) AS 期末平均分
图6-15 修改排序依据的设置
⑶ 修改杂项选项卡 单击“杂项”选项卡,单击“全部”复选 框,显示满足条件的所有记录。如图6-16所 示。
图6-16 显示满足条件的所有记录
3.定向输出查询结果
在查询设计器中可以根据需要为查询输出 确定查询去向。如果不选择查询结果的去 向,系统默认将查询结果显示在“浏览” 窗口中;如果要将查询结果指定某个地点, 可以选择输出目的地。选择“查询”菜单 下的“查询去向”,或在“查询设计器” 工具栏中单击“查询去向”按钮,则将打 开一个“查询去向”对话框,如图6-18所示。
图6-8 设置分组依据
图6-9 设置分组后的筛选条件
图6-10 没有设置筛选条件的显示结果
图6-11 设置筛选条件的显示结果
SQL SELECT语句中相当于: GROUP BY 选课成绩.课程号 HAVING AVG(选课成绩.期末分)>=80
6.设置杂项 在上述设置的基础上,如只想显示查询结 果的前两条记录,则在“杂项”选项卡中 取消“全部”复选项前的“√”,并在 “记录个数”数据显示框中输入“2”,如图 6-12所示。运行后显示结果如图6-13所示。
数据查询是数据处理中最常用的操作之一, 查询可以从一个或多个表中提取所需要的 数据,可以通过设计相应的查询或视图来 实现,是快速方便地从数据库中提取数据 的一种方法。 查询实际上是指扩展名为.QPR的查询文 件,其主体是SQL SELECT语句,视图则兼 有表和查询的特点,是在数据库表的基础 上建立的一个虚拟表,视图不能独立存在 而是被保存在数据库中。查询和视图的设 计可以用相应的设计器来实现,也可以使 用SQL语言实现。
6.1.3 查询文件的操作
使用查询设计器设计查询时,可以边设计、 边运行,边查看运行结果,再修改、再运 行,直至达到满意的效果。 1.运行查询文件 ⑴ 在查询设计器中运行 当查询设计器窗口处于打开或选中状态下, 系统菜单上增加了一个“查询”菜单,选 择“查询”菜单中的“运行查询”选项, 或单击常用工具栏上的“运行”按钮,显 示查询结果。
图6-12 设置显示记录的个数
图6-13 设置杂项后运行结果 单击“SQL”按钮,则显示出相应的SQL SELECT查询代 码: SELECT TOP 2 学生.学号, 学生.姓名, 课程.课程号, 课程. 课程名称,AVG(选课成绩.期末分) AS 期末平均分; FROM 学生 INNER JOIN 选课成绩; INNER JOIN 课程 ; ON 选课成绩.课程号 = 课程.课程号 ; ON 学生.学号 = 选课成绩.学号; WHERE 课程.课程号 LIKE "G%"; GROUP BY 选课成绩.课程号; HAVING AVG(选课成绩.期末分) >= 80; ORDER BY 课程.课程名称 DESC
2.修改查询文件 当查询设计完后,在任何时候都可以使用 查询设计器来修改已建立的查询文件。打 开查询设计器方法有: ⑴ 选择“文件”\“打开…”选项,在“打开” 对话框中指定文件类型为“查询”,选择 要打开的查询文件,单击“确定”按钮。 ⑵ 打开查询设计器 在命令窗口中输入打开查询设计器命令, 命令格式为: MODIFY QUERY <查询文件名>
查询出选修了“G0002”课的学生,这些 学生的期末成绩比选修了“G0006”课的最 高期末成绩还要高的学生的学号和期末成 绩。SQL SELECT语句如下: SELECT 学号, 期末分 FROM 选课成绩 WHERE 课程号="G0002" AND 期末分 >ALL(SELECT 期末分 FROM 选课成绩 WHERE 课程号="G0006") 上述的查询涉及到嵌套查询(子查询), 利用查询设计器是设计不出来的。
6.1.1 查询设计器
1.启动查询设计器 打开查询设计器 ,常用的有菜单操作和命 令操作。 方法一:CREATE QUERY 方法二:选择“文件”\“新建”选项,或单击 “常用”工具栏上的“新建”按钮,打开 “新建”对话框,然后选择“查询” 。 方法三:在项目管理器中的“数据”选项卡 下选择“查询”,然后单击“新建”命令 按钮。
6.1.4 查询设计器的局限性
如果用户对SQL SELECT语句非常熟悉和 了解,是可以直接用各种文本编辑器来编 写SQL SELECT语句建立查询,只是将文件 的扩展名保存为.QPR即可。而使用查询设 计器相对来说比较容易一些。但必须注意 的是,查询设计器只能建立一些比较有规 则的查询,对于复杂的查询它是无能为力 的。比如建立一个内外层相互关联的子查 询。
举例来对例6.1建立的查询文件进行修改, 修改为:使其统计的是所有课程号的第1个 字符不是“G”的各组课程的平均分,按各 组平均分的降序排列,并显示查询的所有 记录。 ⑴ 设置“筛选”查询条件:如图6-14所示。
图6-14 修改筛选条件的设置
⑵ 修改排序顺序 将以“课程名称”为排序依据的字段移到 右边的“选定字段”列表框内,再将 “AVG(选课成绩.期末分)”这个计算 字段添加到“排序条件”列表框内,表明 是按期末分平均值的降序排列。如图6-15所 示。
3.设置筛选条件 选中“筛选”选项卡,筛选出所有的课程 中以“G”开头的课程,如图6-6所示。
图6-6 设置筛选条件
SQL SELECT语句中相当于: WHERE 课程.课程号 LIKE “G%”
4.设置排序查询 选中“排序依据”选项卡,将“课程名称” 字段添加到“排序条件”列表框中,并选 择单选按钮“降序”,按“课程名称”的 降序排序。
2.选取查询所要显示的字段 在“字段”选项卡中选择“学号”、“姓 名”、“课程号”和“课程名称”字段; 要显示各组课程的期末分平均值,这是一 个计算字段,则在“函数和表达式”框中 输入计算表达式或打开“表达式生成器” 对话框,如图6-4所示,在该对话框中编辑 计算表达式“AVG(选课成绩.期末分) AS 期 末平均分”,其功能是求出各组课程的期 末平均分,并以“期末平均分”为字段名 输出。添加选定字段和计算字段如图6-5所 示。
⑵ 联接:该选项卡对应于JOIN ON短语,用 于编辑联接条件,从多个表中查询字段信 息。 ⑶ 筛选:该选项卡对应于WHERE短语,用于 指定查询条件。 ⑷ 排序依据:该选项卡对应于ORDER BY短 语,用于指定排序的字段(将需要排序的 字段添加到排序条件框中)和排序方式 (升序或降序)。
⑸ 分组依据:该选项卡对应于GROUP BY短 语和HAVING短语,用于设置分组条件。将 需要分组的字段添加到分组字段框中,如 需要设置HAVING分组条件,单击“满足条 件...”按钮,打开“满足条件”窗口, 设置分组条件。 ⑹ 杂项:在该选项卡中可以指定是否需要显 示重复记录(对应于DISTINCE)以及是否 显示全部记录或只显示前面有多少个记录 (对应于TOP短语)等。
图6-7 设置排序依据
在SQL SELECT语句中相当于: ORDER BY 课程.课程名称 DESC
5.设置分组依据 在设置“筛选”条件基础上筛选出所有以 “G”开头课程号后,再以“课程号”进行 分组,分组的目的是统计各组期末平均分。 将“课程号”添加到“分组字段”列表框 中,以“课程号”分组。同时要对期末平 均分再作一个筛选,既筛选出某组的期末 平均分大于等于80的课程信息,因此单击 “满足条件…”按钮,打开“满足条件”窗 口,在该窗口中设置筛选条件。如图6-8 , 图6-9 。
1.打开视图设计器 与查询是一个独立的文件不同,视图不 能单独存在,它是数据库中的一部分,因 此在打开视图设计器创建视图时,或者某 视图已创建,打开视图设计器修改该视图 时,必须首先打开某一个数据库,在数据 库中建立视图。打开视图设计器的方法有:
相关文档
最新文档