VFP讲稿第12、13周参考讲义.doc_第1页
VFP讲稿第12、13周参考讲义.doc_第2页
VFP讲稿第12、13周参考讲义.doc_第3页
VFP讲稿第12、13周参考讲义.doc_第4页
VFP讲稿第12、13周参考讲义.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VFPVFP 第第十二 十三十二 十三周周电子讲义电子讲义 复习上节课内容复习上节课内容 数据库文件的基本操作及表之间的关联 教学目的与要求教学目的与要求 掌握 SQL SELECT 基本语句及查询文件的建立 重点重点 SQL SELECT 基本语句 第七章第七章 查询及视图查询及视图 一 查询文件的建立 1 查询的概念及查询文件 数据的查询是数据处理中最基本的操作 任何应用程序都会涉及查询 以前利用浏览窗口可以方便实现单表查询 如需多表同时查询则需要事先建立 表之间的临时关联 现在利用查询文件或视图即可快速解决 查询主要用于多表查询 是从指定的表中提取满足条件的记录 然后定向输出 查询结果 扩展名是 QPR 查询和视图各有特色 但它们本质都是 SELECT SQL 语句 SELECT SQL 语句 的效率很高 查询实例 查询数据源 可以是自由表 数据库中相互关联的表 视图 查询结果 基于数据源的数据的动态集合 它反映的是数据表中最新数据情况 查询结果是不可更新的 实现单表记录筛选 按序显示 实现多表联合数据查询 对单表或多表按某个分组依据进行数据统计查询 查询文件 扩展名是 QPR 查询文件中具体内容是为了得到查询结果所做的一 系列设置 其实质就是一条 SELECT SQL 语句 查询结果中的数据只是运行该查询 文件的输出结果 一个查询文件就是一个程序文件 查询结果就是程序文件的运 行结果 2 查询的向导 1 查询向导 创建单表或多表查询 2 交叉表向导 对表中的某个字段进行统计 平均 求和 计数 如 显示每个学生的所选课程成绩汇总 就象 EXCEL 中的多列进行分类汇 总 3 图形向导 以图形方式建立查询 3 查询设计器窗口简介 1 数据环境 指定查询文件的数据来源 2 选项卡 字段 用于确定查询要输出的字段 函数或表达式 联接 用于多表之间的关联 筛选 用来确定查询满足的条件 排序依据 查询结果的记录输出顺序 分组依据 用于数据统计 生成分组查询结果 杂项 设定是否显示重复记录及记录显示比例 4 使用查询设计器建立查询的基本步骤 由于创建数据库时多个表之间已建立了永久关联 在创建查询文件时不需重 新确立其关联 永久关联使得查询更具有灵活性 一个查询文件是一 条 SQL SELECT 语句生成的 1 打开数据库 如学生管理 2 单击 新建 按钮 在 新建 对话框中选择 查询 单击 新建文件 按钮 出现 添加表或视图 对话框 3 在 添加表或视图 对话框中选定要建立查询的表 数据库表或自由表 如 学生表 单击 关闭 按钮后进入查询设计器 添加表或视图 对话框中 数据库 项 选择数据库 数据库中的表 项 选择数据库表 添加 按钮 将表添加到查询设计器窗口 按一次添加一个表 其他 按钮 选择未包含在数据库中的表 自由表 4 在查询设计器 字段 选项卡中选定查询结果中要显示的字段 也可以是 函数或表达式 在 可用字段 框中双击字段名添加到 选定字段 框内 在 选定字段 框 中双击字段名可将该字段移回 可用字段 框 5 在 联接 选项卡中设置表之间的关联 联接类型 INNER JOIN 内联接 两表均有的记录才加入到查询结果中 LEFT JOIN 左联接 主表中存在的记录一律加入到结果中 RIGHT JOIN 右联接 子表中存在的记录一律加入到结果中 FULL JOIN 全联接 两表中记录都加入到查询结果中 6 在 筛选 选项卡中设置查询条件 只有符合条件的记录才会输出在查 询结果中 单条件设置 如性别 男 多条件设置 AND OR 如 部门 财务室 AND 性别 女 7 分组依据 用于确定统计方式 所谓分组 就是将一组类似的记录压缩成一个结果记录 完成基于一组记录的 统计汇总 例如 1 查询统计各课程选修人数 KCXX KCH COUNT CJ XH 按课程号分组 2 统计各班人数 BJH BJM COUNT STUDETN XH 按班级号分组 3 统计各学生修学课程的总分 平均分 最高分并只显示总分在 420 以 上的学生信息 XH XM SUM CJ CJ 按学号分组 常用的统计函数 COUNT 字段名 计数 MAX 字段名 最大值 MIN 字段名 最小值 AVG 字段名 平均值 8 设置数据排序 使查询结果按某个字段值的大小排序显示 在 排序依据 选项卡中设置 9 杂项设置 在查询结果中删除重复记录 显示一定数目或百分比的查询结果记录 10 查询去向 查询 菜单项 查询去向 或右击查询设计器窗口 在快捷菜单中选 输 出设置 项 查询去向有 7 个 浏览 默认 临时表 表 图形 屏幕 VFP 主窗口 报表 标签 默认在 浏览 窗口中显示查询结果 浏览 在浏览窗口中显示查询结果 临时表 将结果存入一临时表中 在内存中 查询文件运行后临时表自动打开 表添加完成后 单击 关闭 按钮 可进入查询设计器 表关闭时自动删除 表 保存为表文件 DBF 屏幕 在 VF 主窗口或当前活动输出窗口中显示查询结果 图形 输出到图形文件 11 单击常用工具栏中的 保存 按钮存盘 12 单击常用工具栏中的 运行 按钮 可查看查询结果 或在 查询设 计器 中右击 在弹出的快捷菜单中选 运行查询 项 5 运行查询文件 DO 查询文件名 必须带扩展名 QPR 6 打开查询文件 查看 SQL 语句 常用工具栏中 打开 按钮 菜单 查询 查看 SQL 项 右击查询设计器 查看 SQL 查看到的 SQL 语句只 读 二 SELECT SQL 语句 1 SQL 语言简介 SQL 语言是一种结构化查询语言 SQL 成为关系数据库语言的标准 在 VFP 中支持 数据定义语言 数据操纵语言和数据查询语言 其中 数据定义语言 CREATE 和 ALTER 分别用于创建表结构和修改表结构 数据操纵语言 UPDATE 在表尾插入记录 加删除标记和更新记录 数据查询语言 主要是 SELETE SQL 命令 用于指定查询条件并执行查询命令 2 查询文件的实质就是一条 SELECT 语句 查询文件也就是一个程序文件 数据 库中数据无论怎么变化 查询都会显示最新数据 所以说查询是动态的 三 SELECT SQL 语句基本语法 1 基本格式 SELECT ALL DISTINCT TOP N FROM 数据库名 数据库名 ON WHERE ORDER BY ASC DESC GROUP BY HAVING INTO 目的 地 2 各部分说明 1 定义数据源 FROM 子句 FROM 库名 表名 1 INNER JOIN 表名 2 ON 说明 若库文件已打开 或在默认工作目录时则库名可省 若为多表查询时 除了要指定源表 还要说明表间联接方式和联接条件 例如 FROM STUDENT INNER JOIN CJ ON STUDENT XH CJ XH 2 定义结果 指定输出字段 SELE 子句 SELECT ALL DISTINCT TOP N 说明 ALL 所有记录 DIST 去掉查询结果中的重复值 TOP N 输出查询 结果取前 N 条记录 确定输出结果中的项目 如果选择 即选择了所有 字段 输出项可以是字段 函数 表达式 如 BJH BJM COUNT STUDENT XH MAX MIN AVG 等等 各项后边可附带 AS 标题 如 COUNT STUDENT XH AS 学生人数 3 筛选条件 WHERR 子句 对应 筛选 选项卡 设定查询条件 也可 Select 查询时不需先打 开表 也不需建联系 但要默认工作目录 以用于两个表之间的连接条件 例 SELE FROM KCM WHERE 数学 KCM 4 记录排序 ORDER BY 子句 ORDER BY ASC DESC 说明 排序依据可以有多项 各项之间用逗号分开 ASC 升序 DESC 降序 5 记录分组 GROUP BY 子句 GROUP BY 6 查询结果的筛选 HAVING 子句 说明 此项是在分组后 对查询结果进一步筛选 7 输出方式 INTO 目的地 子句 INTO CURSOR 临时表名 输出到一临时表中 INTO TABLE DBF 表名 输出到一数据表文件中 INTO ARRAY 数组名 输出到数组中 TO PRINTER 打印输出 TO SCREEN 屏幕 TO FILE 文件名 输出到文本文件 3 举例 单表及表之间简单联接 1 SELECT 基本工资 FROM 工资 查找并显示工资表中的基本工资字段值 2 SELECT FROM 工资 相当于 BROWSE 3 SELECT DISTINCT 基本工资 FROM 工资 查找并显示工资表中的基本工资字段值 重复的仅保留一个 4 SELECT 职工号 基本工资 FROM 工资 WHERE 基本工资 1200 查找工资表中基本工资字段值大于 1200 的记录 显示职工号 基本工资两个字 段 5 SELECT 职工 职工号 姓名 部门 基本工资 FROM 工资 职工 WHERE 基本工资 1200 AND 职工 职工号 工资 职工号 由于职工号是两个表共有 因此需给出明确的关系前缀 WHERE 性别 男 AND 计算机 85 计算机成绩大于 85 分的男同学 6 SELECT FROM 工资 ORDER BY 基本工资 按基本工资字段升序显示记录 若最后加上 DESC 则降序 7 SELECT FROM 工资 ORDER BY 基本工资 DESC 奖金 按基本工资字段降序显示记录 若基本工资值相同按奖金字段升序排 8 8 SELECTSELECT COUNT COUNT DISTDIST 部门部门 FROMFROM 职工职工 统计并显示职工表中的部门个数 不加 DIST 则统计整个表中的记录总数 同 RECCOUNT 9 SELECT 部门 SUM 基本工资 FROM 职工 工资 WHERE 职工 职工号 工 资 职工号 AND 部门 教务处 求教务处职工基本工资总和 注意部门 基本工资是两个不同表中的字段 10 SELECT AVG 基本工资 FROM 工资 求工资表中基本工资平均值 11 SELECT MAX 基本工资 FROM 工资 求工资表中基本工资最大值 若 MIN 则求最小值 12 SELE 部门 SUM 基本工资 AS 基本工资合计 FROM 工资 职工 WHERE 工资 职工号 职工 职工号 GROUP BY 部门 统计各部门的基本工资和 13 SELE 部门 COUNT AS 人数 AVG 基本工资 FROM 工资 职工 WHERE 工资 职工号 职工 职工号 GROUP BY 部门 统计各部门的人数和各部门的平均基本工资 14 SELECT TOP 3 FROM 工资 ORDER BY 基本工资 DESC 显示基本工资最高的三位职工信息 将 3 换为 30 PERCENT 则显示前 30 的记 录 15 SELECT FROM 工资 INTO CURSOR T1 将查询结果存放在临时表 T1 中 16 SELECT FROM 工资 INTO DBF T1 将查询结果存放在永久表 T1 中 注意 FROM 不要写成 FORM 4 多表查询举例 基于学生选课数据库文件 1 查询统计各班级人数 显示班级号 班级名称及人数 2 查询总分在 220 分以上 并且各门课程成绩不低于 60 分的学生记录 要 求显示学号 姓名 总分 平均分 最低分且按总分降序排列 3 查询显示各门课程的修学人数 最高分 最低分 平均分 4 查询统计各班人数及计算机文化基础课的平均分 5 查询各位学生选课情况及成绩 5 联合查询举例 1 输出 白玉娟 所在班级学生的基本情况 2 查询学号为 2003131006 的学生的各科成绩 将高于这些成绩的其它学 生的课程和成绩显示出来 四 视图的创建 自己看书来做 1 视图 视图可以从一个或多个表中提取数据 也可以从其它视图中提取数据 2 视图与查询的不同点 1 视图中的数据可以更新 且可以将更新数据发送回数据源表 而查询文件是 只读的 不能更改查询结果中的数据 2 视图还可以为视图 查询 表单 报表设计做进一步的数据源 3 视图作为一条 SQL 语句存放在数据库文件中 下次课内容下次课内容 表单表单 作业作业 练习以上查询题目 临时表 T1 为当前表 显示其内容 BROWSE VFPVFP 第第十五十五周周电子讲义电子讲义 复习上节课内容复习上节课内容 SQL SELECT 基本语句 教学目的与要求教学目的与要求 掌握查询设计器 重点重点 查询设计器 第六章第六章 SQLSQL 查询查询 三 SQL SELECT 基本语句 2 基本格式 SELECT DISTINCT TOP N FROM INTO 目的地 WHERE ORDER BY ASC DESC GROUP BY 3 说明 1 DISTINCT 去掉查询结果中的重复值 对应于查询设计器中的 杂项 选项卡 2 查询显示的结果 可以是字段名也可以 字段名之间逗 号分隔 表示所有字段 即查询结果中显示所有的字段 如学生 3 FROM 指定查询结果的来源 可以是多个表 4 WHERE 联接或查询条件 WHERE 对应于查询设计器中的 筛选 选项卡 5 LIKE 与两个通配符 代表任意一个字符串 代表任意一个字符 如 WHERE 学生 姓名 LIKE 李 可查找到所有姓李的记录 6 ORDER BY 对查询结果按关键字进行排序 ASC 或 DESC 默认 ASC 对 应于查询设计器中的 排序依据 选项卡 7 计算查询的函数 COUNT 计数 SUM 求和 AVG 求平均 MAX 最 大值 和 MIN 最小值 各函数后均可以加 AS 新字段名 给计算字段起一个有意 义的新名字 如 AVG 计算机 AS 计算机平均分 8 GROUP BY 按关键字进行分组 一般放在 WHERE 之后 对应于查询设计 器中的 分组依据 选项卡 如求各部门的平均基本工资 9 INTO 目的地 INTO CURSOR 表名 将查询结果存放到临时表中 临时表 只读 关闭 VFP 时自动删除 INTO DBF TABLE 表名 将查询结果存放到一个自由 表中 不选此项 默认在浏览窗口显示 4 举例 17 SELECT 基本工资 FROM 工资 查找并显示工资表中的基本工资字段值 18 SELECT FROM 工资 相当于 BROWSE 19 SELECT DISTINCT 基本工资 FROM 工资 查找并显示工资表中的基本工资字段值 重复的仅保留一个 20 SELECT 职工号 基本工资 FROM 工资 WHERE 基本工资 1200 查找工资表中基本工资字段值大于 1200 的记录 显示职工号 基本工资两个字 段 21 SELECT 职工 职工号 姓名 部门 基本工资 FROM 工资 职工 WHERE 基本工资 1200 AND 职工 职工号 工资 职工号 去向表不能与已存在 的数据库表同名 多表必须给出联 接条件 Select 查询时不需先打 开表 也不需建联系 但要默认工作目录 由于职工号是两个表共有 因此需给出明确的关系前缀 WHERE 性别 男 AND 计算机 85 计算机成绩大于 85 分的男同学 22 SELECT FROM 工资 ORDER BY 基本工资 按基本工资字段升序显示记录 若最后加上 DESC 则降序 23 SELECT FROM 工资 ORDER BY 基本工资 DESC 奖金 按基本工资字段降序显示记录 若基本工资值相同按奖金字段升序排 24 SELECT COUNT DIST 部门 FROM 职工 统计并显示职工表中的部门个数 不加 DIST 则统计整个表中的记录总数 同 RECCOUNT 25 SELECT 部门 SUM 基本工资 FROM 职工 工资 WHERE 职工 职工号 工 资 职工号 AND 部门 教务处 求教务处职工基本工资总和 注意部门 基本工资是两个不同表中的字段 26 SELECT AVG 基本工资 FROM 工资 求工资表中基本工资平均值 27 SELECT MAX 基本工资 FROM 工资 求工资表中基本工资最大值 若 MIN 则求最小值 28 SELE 部门 SUM 基本工资 AS 基本工资合计 FROM 工资 职工 WHERE 工资 职工号 职工 职工号 GROUP BY 部门 统计各部门的基本工资和 29 SELE 部门 COUNT AS 人数 AVG 基本工资 FROM 工资 职工 WHERE 工资 职工号 职工 职工号 GROUP BY 部门 统计各部门的人数和各部门的平均基本工资 30 SELECT TOP 3 FROM 工资 ORDER BY 基本工资 DESC 显示基本工资最高的三位职工信息 将 3 换为 30 PERCENT 则显示前 30 的记 录 31 SELECT FROM 工资 INTO CURSOR T1 将查询结果存放在临时表 T1 中 32 SELECT FROM 工资 INTO DBF T1 将查询结果存放在永久表 T1 中 注意 FROM 不要写成 FORM 四 查询设计器的使用 2 查询 查询是从指定的表中提取满足条件的记录 然后定向输出查询结果 扩展名是 QPR 3 使用查询设计器建立查询的基本步骤 1 打开数据库 如学生管理 2 单击 新建 按钮 在 新建 对话框中选择 查询 单击 新建文件 按钮 出现 添加表或视图 对话框 3 在 添加表或视图 对话框中选定要建立查询的表 数据库表或自由表 如 学生表 单击 关闭 按钮后进入查询设计器 添加表或视图 对话框中 a 数据库 项 选择数据库 b 数据库中的表 项 选择数据库表 c 添加 按钮 将表添加到查询设计器窗 口 按一次添加一个表 d 其他 按钮 选择未包含在数据库中的 表 自由表 4 在查询设计器 字段 选项卡中选定查询结果中要显示的字段 临时表 T1 为当前表 显示其内容 BROWSE 表添加完成后 单击 关闭 按钮 可进入查询设计器 一个查询文件是一 条 SQL SELECT 语句生成的 在 可用字段 框中双击字段名添加到 选定字段 框内 在 选定字段 框 中双击字段名可将该字段移回 可用字段 框 5 在 筛选 选项卡中设置查询条件 e

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论