visualfoxpro程序设计教程第13章.ppt

上传人:牧羊曲112 文档编号:6523133 上传时间:2023-11-08 格式:PPT 页数:19 大小:287.50KB
返回 下载 相关 举报
visualfoxpro程序设计教程第13章.ppt_第1页
第1页 / 共19页
visualfoxpro程序设计教程第13章.ppt_第2页
第2页 / 共19页
visualfoxpro程序设计教程第13章.ppt_第3页
第3页 / 共19页
visualfoxpro程序设计教程第13章.ppt_第4页
第4页 / 共19页
visualfoxpro程序设计教程第13章.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《visualfoxpro程序设计教程第13章.ppt》由会员分享,可在线阅读,更多相关《visualfoxpro程序设计教程第13章.ppt(19页珍藏版)》请在三一办公上搜索。

1、第13章 查询与视图,13.1 使用查询设计器创建查询13.2 使用SQL语言的SELECT语句创建查询13.3 创建视图13.4 查询视图,查询就是向一个数据库发出检索信息的请求,从中提取符合特定要求的记录。利用查询可以实现对数据库中数据的浏览、筛选、排序、检索、统计及加工等操作。查询文件的扩展名为.qpr,查询被运行后,系统会生成一个编译后的查询文件,扩展名为.qpx。运行查询文件可以得到一个基于表和视图的数据集合,查询结果可以用不同的形式来保存,查询结果中的数据是只读的。创建查询的方法:使用查询向导使用查询设计器 使用查询命令(SQL语言的SELECT语句),创建查询文件可实现如下查询要

2、求:单表查询多表连接查询查询所选字段查询所选记录查询表达式的值对查询结果进行排序分组进行查询并计算每组的统计数据对组进行筛选指定查询输出的去向在查询中删除重复记录查询一定数目或一定百分比的记录,13.1 使用查询设计器创建查询,举例:1.查询“计算机”系的学生的学号、姓名、和出生日期,结果按学号升序排。2.查询“计算机”系的学生的姓名、性别、年龄,结果按年龄升序排。3.查询都有哪些系,要求系不能重复。4.查询选了“001”号课的学生的姓名和成绩,结果按成绩降序排,结果放到表成绩001号课表中。5.查询“计算机”系学生选了“001”号课学生的姓名、成绩,结果按成绩降序排。,6.查询成绩在80及8

3、0分以上的学生的姓名、课程名和成绩,输出时先按课程名升序排,课程名一样的再按成绩降序排。7.查询平均成绩大于等于80的学生的学号、姓名平均成绩。8.查询各科成绩的最高分。结果包括课程名和最高分两列。9.查询选课人数多于10人的课程名和选课人数。10.查询数学成绩前5名的学生的姓名和数学成绩。,13.2 使用SQL语言的SELECT语句创建查询【语句格式】SELECT ALL|DISTINCT,FROM,WHERE GROUP BY HAVING ORDER BY ASC|DESC,其中:SELECT子句:指定要显示的属性列FROM子句:指定查询对象(基本表或视图)WHERE子句:指定查询条件G

4、ROUP BY子句:对查询结果按指定列的值分组,该属性列值相等的元组为一个组。通常会在每组中作用集函数。HAVING短语:筛选出只有满足指定条件的组ORDER BY子句:对查询结果表按指定列值的升序或降序排序,表间的联接方式:内联接、左联接、右联接和全联接。内联接:INNER JOIN,只有两个表中都满足联接条件的记录才拼接。左联接:LEFT JOIN,是将左表中的记录分别与右表中的记录进行联接,满足联接条件就进行拼接,不满足条件时,右表字段为NULL值。右联接:RIGHT JOIN,是将右表中的记录分别与左表中的记录进行联接,满足联接条件就进行拼接,不满足条件时,左表字段为NULL值。全联接

5、:FULL JOIN,是将两个表先进行一次左联接,再进行一次右联接,然后去掉重复记录的结果。,13.3 创建视图在数据库中可以独立存在的表称为基本表。而视图则是从一个或多个基本表或视图中导出的虚拟表,视图中显示的数据是基于基本表的数据,即在视图中看到的数据实际存储在基本表中,在数据库中只是存放视图的定义。视图是查看或使用基本表中部分数据的一个窗口。视图不以独立的文件形式保存,视图的定义存储在数据库中。视图的数据源可以是自由表、数据库表或另一个视图。视图中看到的数据可以更新。更新视图中的数据实际是更新基本表中的数据,因为这些数据实际在基本表中。,VFP的视图分为本地视图和远程视图两种。本地视图所

6、能更新的源表是VFP的数据库表或自由表,这些数据库表或自由表未被放在服务器上,称这些数据库表或自由表为本地表。远程视图所能更新的源表可以来自放在服务器上的VFP的数据库表或自由表,也可以来自远程数据源。视图可以增强数据的安全性,简化数据的操作。,本地视图的创建方法:1.使用视图向导建立本地视图2.使用视图设计器创建本地视图3.用命令方式创建本地视图【格式】CREATE VIEW AS【功能】在打开数据库的前提下创建视图。,【举例】1.建立“数学”系学生的视图“数学系学生”,要求只可对姓名和是否班干部进行修改,记录按学号升序排。使用设计器创建:1)添加表:学生表 2)“字段”选项卡:选所有字段

7、3)“筛选”选项卡:所在系=数学 4)“更新条件”选项卡:设置“关键字段”为学号,设置“可更新字段”为姓名和是否班干部,选中复选框“发送SQL更新”。5)保存该视图,名为“数学系学生”,使用命令创建:CREATE VIEW 数学系学生 AS;SELECT*;FROM 学生-课程!学生;WHERE 学生.所在系=数学注:使用设计器设计完后,可通过“查看SQL”查看自动生成的创建该视图的SELECT子句。,2.建立视图“网络系选课”,其中包含“网络”系所有学生的学号、姓名、所选课程的课程号、课程名、学分及成绩,要求只能对成绩修改,记录先按学号升序排,学号一样的再按课程号升序排。使用设计器创建:1)

8、添加表:学生表、选课表、课程表 2)“字段”选项卡:选课.学号、学生.姓名、选课.课程号、课程.课程名、课程.学分、选课.成绩。3)“联接”选项卡:学生.学号=选课.学号 课程.课程号=选课.课程号 4)“筛选”选项卡:所在系=网络 5)“更新条件”选项卡:设置“关键字段”为选课.学号和选课.课程号,设置“可更新字段”为成绩,选中复选框“发送SQL更新”。6)保存该视图,名为“网络系选课”,使用命令创建:CREATE VIEW 网络系选课 AS;SELECT 选课.学号,学生.姓名,选课.课程号,;课程.课程名,课程.学分,选课.成绩;FROM 学生 INNER JOIN 选课 INNER J

9、OIN 课程;ON 课程.课程号=选课.课程号;ON 学生.学号=选课.学号;WHERE 学生.所在系=网络;ORDER BY 选课.学号,选课.课程号注:使用设计器设计完后,可通过“查看SQL”查看自动生成的创建该视图的SELECT子句。,13.4 使用视图1.视图的修改和浏览 视图的定义存储在数据库中,可打开数据库设计器修改视图的定义和浏览视图中显示的信息,也可在项目中选中视图,使用“修改”和“浏览”按钮进行修改和浏览。,3.查询视图可以对视图进行查询,查询视图和查询表的操作是一样的。【举例】创建查询文件,从上面创建的“数学系学生”的视图中查询学号为“0302”的学生的姓名和出生日期。方法一:用查询设计器查,类似查询表 方法二:使用命令查,类似查询表,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号