Visual.FoxPro程序设计幻灯片第4章.ppt
《Visual.FoxPro程序设计幻灯片第4章.ppt》由会员分享,可在线阅读,更多相关《Visual.FoxPro程序设计幻灯片第4章.ppt(43页珍藏版)》请在三一办公上搜索。
1、Visual FoxPro程序设计教程,讲师:徐红波,在软件开发中经常用到数据的查询,如学生成绩管理、人事档案、图书检索等软件,查询的准确性、速度直接影响软件的质量、效率、应用及维护。VFP开发工具用三种途径解决查询问题:用查询设计器建立查询;用视图设计器建立视图;用SQL语句查询。,第4章 查询与视图,4.1 概念4.1.1 查询,使用查询设计器,从数据库表或自由表中获取有用数据,经过对查询条件、查询要求的设置,形成一个后缀为qpr的文件,通过do命令来执行。,用视图设计器从数据库表中获取有用数据,与查询一样经过查询条件、查询要求的设置形成视图。视图是以视图名的形式存在数据库中。视图中数据的
2、更新可以使源表相应数据更新。视图的执行要在数据库中执行。,4.1.2 视图,SQL语言是关系数据库的标准语言。它是结构化的查询语言。它集数据定义语言、数据操纵语言、数据控制语言的功能为一体。,4.1.3 SQL查询,4.2 SQL语句4.2.1 SELECT查询语句,1、基本语句格式:SELECT INTO DBF|TABLE FROM WHERE 功能:从表名列表的表中查询符合条件的,按的形式显示。若选INTO DBF|TABLE 子句,查询结果存入新表。,说明:格式:ALL|DISTINCTTOP PERCENT别名.列名 AS 栏目名,别名.列名 AS 栏目名ALL|DISTINCT子句
3、:ALL输出结果有重复记录,是子句默认值。DISTINCT输出结果无重复记录。TOP PERCENT子句:TOP 是符合条件的内容中取前个记录。PERCENT是取前面分之个记录。别名.列名 AS 栏目名,别名.列名 AS 栏目名子句:列名可以是字段、含字段的表达式。指定输出结果中的字段,此子句也可用*代替此时显示表中所有字段。,例4.1 SELECT基本语句应用,open database 学生select*from 学生select*from 学生 into table 学生yselect 姓名,入学成绩 from 学生 where 入学成绩=500select distinct 性别 fr
4、om 学生select 学生.学号,学生.姓名,学生成绩.数学 from 学生,学生成绩 where 学生.性别=女 and 学生成绩.数学=60 and 学生.学号=学生成绩.学号select top 2*from 学生 order by 学号close database all,2、SELECT中常用的系统函数,在实际应用中经常有统计、求平均值、汇总等操作。SQL提供一些常用的系统函数。,3、SELECT分组子句,格式:GROUP BY,HAVING 功能:对查询结果进行分组。HAVING 为指定分组必须满足的条件,例4.2 分组查询应用,open database 学生select av
5、g(入学成绩)from 学生select count(*)from 学生select sum(入学成绩)from 学生 group by 性别 having 性别=女,4、排序子句,格式:ORDER BY ASC|DESC,ASC|DESC功能:查询结果按关键字排序,ASC升序为默认值,DESC为降序,例4.3 查询排序应用,open database 学生select 学号,姓名,入学成绩 from 学生 order by 入学成绩 descselect 学生.学号,学生.姓名,学生成绩.英语 from 学生,学生成绩 where 学生.学号=学生成绩.学号 order by 学生成绩.英语
6、select avg(入学成绩)as“入学成绩平均分”from 学生 group by 性别 order by 入学成绩 descclose database all,5、嵌套查询,嵌套查询就是在SELECT语句中套用SELECT语句,被套在内的SELECT子句通常称为子查询,(1)IN等谓词及比较运算符结合使用,例4.4 IN与NOT IN在嵌套查询中的应用open database 学生select*from 学生 where 学号 in(select 学号 from 学生成绩 where 英语=90)select*from 学生 where 学号 not in(select 学号 fro
7、m 学生成绩 where 英语90)close database all,例4.5 比较运算符在嵌套查询中的应用,open database 学生select*from 学生 a1 where 入学成绩=(select 入学成绩 from 学生 a2 where a1.学号=a2.学号 and 入学成绩=500)close database all,(2)使用量词和谓词的嵌套查询,格式:ANY|ALL|SOME(子查询)NOT EXIST(子查询)说明:ANY、ALL、SOME为量词,ANY与SOME是同义词,在查询中,只要子查询有一行能使结果为.T.,则结果就为.T.。ALL要求子查询中所有
8、行结果为.T.时,结果才能为.T.。EXIST或NOT EXIST是检查在子查询中是否有结果返回。EXIST为有结果返回为真否则为假。NOT EXIST刚好与EXIST相反。,例4.6 查询数学成绩高于90分的学生的学号,姓名,open database 学生select 学号,姓名 from 学生 where exist(select*from 学生成绩 where 学号=学生.学号 and 数学=90)close database all,例4.7 查找比所有入学成绩小于500分学生的年龄都小的学生,open database 学生select*from 学生 where 出生 all(s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual FoxPro 程序设计 幻灯片
链接地址:https://www.31ppt.com/p-6523011.html