Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图

上传人:E**** 文档编号:89181505 上传时间:2019-05-20 格式:PPT 页数:78 大小:482KB
返回 下载 相关 举报
Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图_第1页
第1页 / 共78页
Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图_第2页
第2页 / 共78页
Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图_第3页
第3页 / 共78页
Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图_第4页
第4页 / 共78页
Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图_第5页
第5页 / 共78页
点击查看更多>>
资源描述

《Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图》由会员分享,可在线阅读,更多相关《Visual FoxPro 实用教程 教学课件 ppt 作者 邹广慧 第5章 查询和视图(78页珍藏版)》请在金锄头文库上搜索。

1、Visual FoxPro 实用教程,邹广慧 主编 机械工业出版社,2,第5章 查询和视图,查询和视图是VFP提供的检索数据库中数据的方法。 查询和视图有很多相似之处,查询可以根据表或视图来建立,视图又兼有表和查询的特点。 二者也有不同之处,查询的结果是只读的,不能修改源表中的数据;而视图可以更新源表中的数据。,3,查询 SQL的查询功能 视图 Visual FoxPro的查询命令 实验、习题,第5章 查询和视图,4,5.1 查询,查询是从一个或多个相关联的表或视图中提取满足条件的记录。查询文件的扩展名为.qpr。 查询向导 查询设计器 查询结果的输出 创建、修改和运行查询的命令,返回,查询向

2、导是一种方便的查询设计工具,用户只要按照向导提示的步骤就可以创建查询。 例:查询“计09”班“计算机基础”课程的成绩,在查询结果中显示“学号”、“姓名”和“成绩”3项信息,并按“学号”升序排序。 设计查询 创建查询 运行查询,5,5.1.1 查询向导,1. 设计查询,查询需要的数据可以从哪些表中获得? 成绩从“学生成绩”表中获得,还需从“学生”表中获得“姓名”。为此需要将两个表按“学号”建立联接。 还需要从“学生成绩”表中筛选出“计09”班“计算机基础”课程的成绩。“计09”的班级编号是“0921”;“计算机基础”的课程编号是“20010”;筛选条件: 学生成绩.课程编号=20010.AND.

3、 学生成绩.学号=0921,2. 创建查询,打开“成绩管理”项目,选择“数据”选项卡上的“查询”,然后单击“新建”命令按钮。 在弹出的“新建查询”对话框中,单击“查询向导”图片按钮,则打开“向导选取”对话框,,7,可以使用以下方法运行查询: 方法1:在项目管理器中选择“数据”选项卡,在“查询”下选择查询文件名,然后单击“运行”按钮。 方法2:在“程序”菜单中选择“运行”,在弹出的“打开”对话框中选择查询文件名,然后单击“确定”按钮。,8,3. 运行查询,返回,使用查询设计器可以灵活地创建查询。利用查询向导创建的查询也可以在查询设计器中进行修改。 例:查询“计09”班每名学生所有课程的平均成绩,

4、在查询结果中显示“学号”、“姓名”和“平均成绩”3项信息,并按“平均成绩”降序排序。 设计查询 创建查询 修改查询 查询设计器工具栏,9,5.1.2 查询设计器,1. 设计查询,本例可以从“学生成绩”表中获得“学号”和“平均成绩”,从“学生”表中获得“姓名”。 由于“平均成绩”不是“学生成绩”表中的字段,所以需要对该表的“成绩”字段进行统计计算才能获得。,2. 创建查询,新建查询 添加表或视图 如果“教学管理”数据库尚未打开,则需要在“添加表或视图”对话框中单击“其他”按钮,通过“打开”对话框完成添加表的操作。 如果没有建立表之间的永久联系,则在添加表或视图时,系统会弹出“联接条件”对话框,提

5、示用户建立表之间的联接。,2. 创建查询,设置“字段”选项卡 “字段”选项卡用于选取出现在查询结果中的字段。 “平均成绩”不是源表中的字段,所以要在“函数和表达式”文本框中输入,或者单击其右边的按钮。 ROUND(AVG(学生成绩.成绩),1) AS 平均成绩,2. 创建查询,设置“联接”选项卡 在此修改或添加新的连接。“类型”有如下4个选项: Inner Join:即内联接,是默认的选项。表示在联接的两个表中,只有满足联接条件的记录才会出现在查询结果中。 Left Join:即左联接,表示查询结果中包含联接条件左边表里的所有记录和联接条件右边表里满足条件的记录。 Right Join:即右联

6、接,表示查询结果中包含联接条件左边表里满足条件的记录和联接条件右边表里所有的记录。 Full Join:即完全联接,表示查询结果中包含两个表里的所有记录,无论是否满足联接条件。,2. 创建查询,设置“筛选”选项卡 “筛选”选项卡用于设置查询的筛选条件: 学生成绩.学号=0921 其中,“=”是字符串非精确比较运算符,“0921”是“计09”的班级编号。,2. 创建查询,设置“排序依据”选项卡 “排序依据”选项卡用于设置查询结果的输出顺序。 排序依据可以是多个字段或虚拟字段,排序时先按“排序条件”列表中第一个字段的值排序,当第一个字段值相同时,再按第二个字段的值排序,依此类推。,2. 创建查询,

7、设置“分组依据”选项卡 “分组依据”选项卡用于将查询结果分组。 所谓“分组”就是将一组类似的纪录合并成一条记录,这样就可以完成基于一组记录的计算。 因此,“分组”通常与某些统计函数结合使用,如SUM、AVG、COUNT等。,2. 创建查询,设置“杂项”选项卡 “杂项”选项卡用于设置查询结果中是否包含重复记录、指定显示记录个数等。,运行和保存 单击工具栏上的运行按钮 关闭“查询设计器”,在“另存为”对话框中,选择路径并以“学生平均成绩.qpr”为文件名保存此查询文件,至此查询文件就创建完成了。,18,2. 创建查询,修改查询也可以使用查询设计器。 例:修改“班级成绩.qpr”,查询“计09”班“

8、高等数学”课程的成绩,在查询结果中显示“学号”、“姓名”和“成绩”3项信息,并按“成绩”降序排序。 本例只需修改查询的“筛选”条件和“排序依据”即可。 浏览“课程”表查得“高等数学”的课程编号是“80011” 打开“成绩管理”项目,选择“数据”选项卡“查询”下的“班级成绩”,然后单击“修改”按钮。,19,3. 修改查询,在修改过程中,可以使用“查询设计器工具栏”中的按钮完成操作。 可以通过“显示”“工具栏”,在“工具栏”对话框中选中“查询设计器”,打开“查询设计器工具栏”。,20,4. 查询设计器工具栏,4. 查询设计器工具栏,按钮 :添加表。 按钮 :移去表。 按钮 :添加联接。 按钮 :显

9、示SQL窗口。 按钮 :最大化上部窗格。 按钮 :查询去向。,返回,查询结果可以有不同的输出方式,包括:“浏览”、“临时表”、“表”、“图形”、“屏幕”、“报表”和“标签”。 默认将结果显示在浏览窗口中。 查询去向 以图形输出查询结果,22,5.1.3 查询结果的输出,1. 查询去向,当“查询设计器”打开时,从“查询”菜单中选择“查询去向”; 或者在“查询设计器”工具栏上单击“查询去向”按钮,都会打开“查询去向”对话框。,1. 查询去向,查询结果的输出去向及说明见下表,例:将“学生平均成绩.qpr”的查询结果以直方图的形式输出,并将该图保存为表单文件。 方法1:使用图形向导 方法2:使用“查询

10、去向”,25,2. 以图形输出查询结果,2. 以图形输出查询结果,注意:如果“查询去向”对话框中的图形按钮是灰色的,则需要指定图形应用程序WZGRAPH.APP的存放路径。 例如,可以在命令窗口中执行如下命令: _GENGRAPH=“C:PROGRAM FILESMICROSOFT VISUAL STUDIO; VFP98WIZARDSWZGRAPH.APP“,返回,创建查询 格式:CREATE QUERY 查询文件名 功能:打开“查询设计器”,创建查询。 修改查询 格式:MODIFY QUERY 查询文件名 功能:打开“查询设计器”,修改查询。 运行查询 格式:DO 查询文件名.qpr 功能

11、:运行查询文件,显示查询结果。,27,5.1.4 创建、修改和运行查询的命令,返回,28,5.2 SQL的查询功能,SQL-SELECT的自动生成 SQL-SELECT的基本语法 简单查询 排序查询 分组和计算 多表联接查询 查询结果的定向输出 嵌套查询 综合查询,使用查询向导或查询设计器创建的查询文件,其内容实际上就是一个SQL-SELECT命令。 例:查看“学生平均成绩.qpr”中的SQL-SELECT命令。 方法1:“查询设计器”打开时,从“查询”菜单中选择“查看SQL”,或者在“查询设计器”工具栏上单击 方法2:在命令窗口中输入并执行如下命令: TYPE 学生平均成绩.qpr 则在结果

12、显示区也会显示该文件的SELECT命令。,29,5.2.1 SQL-SELECT的自动生成,返回,SELECT命令在使用时不必打开相应的数据表文件,就可以直接进行查询,其语法格式如下: SELECT ALL|DISTINCT TOP 数值PERCENT; 字段表达式 AS 列标题 ,字段表达式 AS 列标题,; FROM 表或视图名1,表或视图名2; WHERE 条件表达式; GROUP BY 字段名 HAVING 条件表达式; ORDER BY 字段名1 ASC|DESC,字段名2 ASC|DESC; INTO 输出去向,30,5.2.2 SQL-SELECT的基本语法,在上述语法格式中,S

13、ELECTFROM是不必不可少的,其余子句可按需要选择使用,各子句的功能如下: SELECT:说明要查询的数据。 FROM子句:说明要查询的数据来自哪些表或视图。 WHERE子句:指定查询条件,即对记录进行筛选。 GROUP BY子句:用于对查询结果进行分组汇总。HAVING子句只能跟随GROUP BY一起使用,用来对分组后的结果作进一步的筛选。 ORDER BY子句:对查询结果进行排序。ASC表示升序,DESC表示降序,若省略则默认为升序。 INTO子句:指明查询结果的去向。,31,5.2.2 SQL-SELECT的基本语法,返回,5.2.3 简单查询,简单查询是指对单表进行的查询,主要使用

14、查询语句的基本形式:SELECTFROMWHERE来实现。 投影运算 选择运算 取消重复的行 AS子句 查询中常用的运算符,返回,1. 投影运算,投影是从表的垂直方向上选取字段。 例:从“学生”表中查询“学号”、“姓名”和“入学成绩”3项信息,命令如下: SELECT 学号,姓名,入学成绩 FROM 学生,2. 选择运算,选择是从表的水平方向上选取记录。 例:从“学生”表中查询“入学成绩”大于等于600分的记录,命令如下: SELECT * FROM 学生 WHERE 入学成绩=600 “*”表示查询所有的字段;WHERE后面的“入学成绩=600”是查询条件,WHERE子句与“查询设计器”中“

15、筛选”选项卡的作用相同。,3. 取消重复的行,使用DISTINCT选项可以取消查询结果中重复的行。 例:从“教师任课”表中查询“2009-1”学期任课的教师编号,命令如下: SELECT 教师编号 FROM 教师任课 WHERE 学期=2009-1 SELECT DISTINCT 教师编号 FROM 教师任课 WHERE 学期=2009-1,AS子句用来指定输出字段的列标题,如果省略则以字段名为列标题。 对于使用函数和表达式计算出来的虚拟字段,尤其需要使用AS子句指定列标题,以增加可读性。 例:从“学生”表中查询“学号”、“姓名”和学生的年龄,命令如下: SELECT 学号,姓名,YEAR(D

16、ATE()-YEAR(出生日期) AS 年龄 FROM 学生,36,4. AS子句,5. 查询中常用的运算符,在WHERE子句中可以指定查询条件,用来筛选满足条件的记录。 在查询条件中常用的运算符见下表。,5. 查询中常用的运算符,说明:Like运算符进行字符串的匹配运算,语法格式为: NOT LIKE 字符串 在字符串中,可以使用通配符“%”和“_”(下划线)。 “%”表示任意长度的字符串;“_”表示任意单个字符,查询汉字时一个“_”代表一个汉字。 例:从“学生”表中查询姓“王”的学生,命令如下: SELECT * FROM 学生 WHERE 姓名 LIKE “王%“,5. 查询中常用的运算符,例:从“学生”表中查询“学号”、“姓名”和“入学成绩”,并且要求“入学成绩”在580到600分之间。 SELECT 学号,姓名,入学成绩 FROM 学生; WHERE 入学成绩 BETWEEN 580 AND 600 查询条件也可以写成:入学成绩=580 .

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号