欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Visual.FoxPro程序设计幻灯片第4章.ppt

    • 资源ID:6523011       资源大小:222.49KB        全文页数:43页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Visual.FoxPro程序设计幻灯片第4章.ppt

    Visual FoxPro程序设计教程,讲师:徐红波,在软件开发中经常用到数据的查询,如学生成绩管理、人事档案、图书检索等软件,查询的准确性、速度直接影响软件的质量、效率、应用及维护。VFP开发工具用三种途径解决查询问题:用查询设计器建立查询;用视图设计器建立视图;用SQL语句查询。,第4章 查询与视图,4.1 概念4.1.1 查询,使用查询设计器,从数据库表或自由表中获取有用数据,经过对查询条件、查询要求的设置,形成一个后缀为qpr的文件,通过do命令来执行。,用视图设计器从数据库表中获取有用数据,与查询一样经过查询条件、查询要求的设置形成视图。视图是以视图名的形式存在数据库中。视图中数据的更新可以使源表相应数据更新。视图的执行要在数据库中执行。,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子句:ALL输出结果有重复记录,是子句默认值。DISTINCT输出结果无重复记录。TOP PERCENT子句:TOP 是符合条件的内容中取前个记录。PERCENT是取前面分之个记录。别名.列名 AS 栏目名,别名.列名 AS 栏目名子句:列名可以是字段、含字段的表达式。指定输出结果中的字段,此子句也可用*代替此时显示表中所有字段。,例4.1 SELECT基本语句应用,open database 学生select*from 学生select*from 学生 into table 学生yselect 姓名,入学成绩 from 学生 where 入学成绩=500select distinct 性别 from 学生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 avg(入学成绩)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 学生成绩.英语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 学号 from 学生成绩 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要求子查询中所有行结果为.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(select 出生 from 学生 where 入学成绩500)close database all,6、几个特殊运算符,(1)BETWEEN AND运算符格式:BETWEEN AND 说明:表示在一个区间范围内,例4.8 查询入学成绩480-600分学生情况,与不在500-600之间的学生,open database 学生select*from 学生 where 入学成绩 between 490 and 600select*from 学生 where 入学成绩 not between 490 and 600close database all,(2)LIKE运算符,LIKE后含有%或_通配符的字符型表达式。%表示0个或多个字符,_表示一个字符。,例4.9 查询姓王的所有学生情况,查询姓名前两个字为王丽的学生情况,open database 学生select*from 学生 where 姓名 like“王%”select*from 学生 where 姓名 like“王丽_”close database all,7、连接查询,格式:LEFT|RIGHT|FULL JOIN ON,(1)LEFT JOIN为左连接,在满足连接条件的记录出现在结果中基础上,第一个表不满足条件的记录也出现在结果中。,例4.11 用左连接查找学生表与学生成绩表open database 学生select*from 学生 left join 学生成绩 on 学生.学号=学生成绩.学号close database all,(2)RIGHT JOIN为右连接,在满足连接条件的记录出现在结果中基础上,第二个表不满足条件的记录也出现在结果中,例4.12 用右连接查找学生表与学生成绩表open database 学生select*from 学生 right join 学生成绩 on 学生.学号=学生成绩.学号close database all,(3)FULL JOIN为全连接。即满足连接条件的记录出现在结果上,两表不满足连接条件的记录也出现在结果上,4.13 用全连接查找学生表与学生成绩表open database 学生select*from 学生 full join 学生成绩 on 学生.学号=学生成绩.学号close database all,8、UNION子句,用此子句可以将多个表的查询结果,合并成一个结果,要求查询结果具有相同字段与个数,且对应字段类型要兼容。例如:select*from 学生 where 性别=女 union all select*from 学生 where 性别=男,9、查询结果的存放,(1)用INTO DBF|TABLE 可将查询结果存放表中(2)用INTO ARRAY 将查询结果存入数组(3)用INTO CURSOR 将查询结果存入临时表(4)用TO FILE ADDITIVE将结果存入文本文件,用ADDITIVE将结果追加到由指定的文本文件尾部。否则将覆盖原有文件,例4.15 关于结果存放的应用,open database 学生select*from 学生 into table 新学生select*from 学生 into array aselect*from 学生 into cursor 临时学生select*from 学生 to file 学生文本close database all,4.2.2 操作功能(插入、更新、删除),1、插入格式1:INSERT INTO 字段1,字段2,VALUES(表达式1,表达式2)格式2:INSERT INTO FROM ARRAY 数组名|MEMVAR功能:在表尾添加一个指定字段的记录说明:(1)格式1中字段名1,字段名2是用于指定添加记录的字段名,如省略,说明所有字段,表达式1,表达式2是添加字段1,字段2的具体值。(2)格式2ARRAY数组名是从指定的数组中添加记录的值,MEMVAR是从与字段同名的内存变量中添加记录的值,例4.16 插入应用,open database 学生use 学生成绩insert into 学生成绩 values(“105010120”,90,80,72)go 1scatter memvarinsert into 学生成绩 from memvargo 2scatter to ainsert into 学生成绩 from array a,2、更新,格式:UPDATE SET 字段名1=,字段名2=WHERE 功能:更新满足条件的记录的值,若省略WHERE,更新全部记录的值,例4.17 更新应用,use 学生成绩update 学生成绩 set 数学=数学+10 where 数学80update 学生成绩 set 英语=英语+10use,3、删除,格式:DELETE FROM WHERE 功能:删除符合条件的记录,若省略WHERE将删除全部记录,例4.18 删除应用,use 学生成绩delete from 学生成绩 where 英语100use,4.3 查询,4.3.1 建立查询1、用向导建立查询2、用查询设计器建立查询4.3.2 执行查询1、用界面执行查询2、用命令执行查询 DO,4.3.3 查询设计器的局限性,用查询设计器建立的查询简单、易学,但在使用中有一定的局限性,它适用于比较规范的查询,而对较复杂的查询是无法实现的。,例4.22 查询入学成绩最高学生的信息,open database 学生select a1.学号,a1.姓名,a1.入学成绩 from 学生 as a1 where 入学成绩=(select max(入学成绩)from 学生 as b1 where a1.学号=b1.学号)close database all,4.4 视图查询,视图与查询均是从表中获取数据。视图与查询的区别:视图是一张虚表,数据库中只存放视图的定义,数据库不存放视图的对应数据,这些数据仍然存放在表中。而查询是以qpr文件形式存放在磁盘中。更新视图的数据同时更新表的数据,这一点与查询是完全不同的。,4.4.1 建立本地视图,1、向导建立视图2、视图设计器建立视图,4.4.4 运行视图,在数据库打开基础上运行视图用界面执行用命令执行use browse,4.5 小结,查询在数据处理中的应用是普遍的,VFP运用SELECT语句、查询、视图来完成查询,SELECT语句对于简单到复杂要求的查询都可以实现,查询与视图实质上也是基于SELECT语句的查询。查询与视图简单方便,它们很相似,但也有一定的区别,查询是以文件形式存放于磁盘中,而视图是存放在数据库中的一个虚表,视图与查询的主要区别在于视图中数据的修改可以使源表数据改变。,

    注意事项

    本文(Visual.FoxPro程序设计幻灯片第4章.ppt)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开