VFP之ch4_查询和视图.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VFP之ch4_查询和视图

4.1 查询和视图概述 视图有两种类型:本地视图和远程视图。 要实施对基表的更新,关键是要设置好更新条件,即首先要正确设置可更新基表的关键字段,其次是指定可更新字段,再设置视图“发送SQL更新”。 可更新基表的关键字段实际上就是基表的主关键字或候选关键字,用以唯一确定该基表的记录。如果关键字段设置不正确,将导致错误的更新或更新失败。本例要求能在视图中输入学生的成绩,并将成绩保存到cj表中。 要使得视图中当前记录的成绩字段能正确更新cj表中相应记录的成绩字段,必须设置视图中cj表的学号(xh)和课程代号(kcdh)为关键字段。 因此在选取视图字段时,xh字段必须来自于cj表,而kcdh虽然不是视图所必需的,但由于更新的需要,还是要把cj表的kcdh选为视图字段(注意不能选kc表的课程代号) ,因为cj表中的 xh和kcdh两个字段组成了 cj表的主关键字。 3、在视图设计器中“运行查询”,并在浏览窗口对cj字段进行修改,修改后必须使记录指针离开这条记录,才能在基表中看到修改后的结果(因为这里采用了行缓冲)。 OPEN DATABASE JXSJ 打开数据库JXSJ USE ST001 打开视图ST001 BROWSE 浏览视图ST001 USE ST004 IN 0 在另一个工作区打 开另一视图ST004 USE 关闭视图ST001 USE IN ST004 关闭视图ST004 ? 这里可将INTO TABLE子句替换成INTO CURSOR、INTO ARRAY、TO FILE、TO SCREEN、TO PRINTER 【例8】基于ZY表和XS表查询各专业的男女学生人数。要求输出字段为:zydh、zymc、xb、人数。查询结果按zydh和xh的升序排序。 解: SELECT zy.zydh, zy.zymc, xs.xb, COUNT(*) AS 人数; FROM sjk!zy INNER JOIN sjk!xs; ON zy.zydh = xs.zydh; GROUP BY xs.zydh , xs.xh; ORDER BY zy.zydh, 4 【例11】查询专业表ZY中,哪些专业在学生表XS中尚未有该专业的学生。 SELECT * FROM zy ; WHERE zy.zydh NOT IN (SELECT xs.zydh FROM xs) 【例10】查询各系科教师工资总额、各系科每个教师的工资以及全校所有教师工资总额。要求结果中包含三个列:系名、姓名和工资,并按系名排序。 解: SELECT js.ximing AS 系名, SPACE(8) AS 姓名, ; STR(SUM(js.jbgz) ,10,2) AS 工资 FROM sjk!js; GROUP BY js.ximing; UNION; SELECT js.ximing AS 系名, js.xm AS 姓名, ; STR(js.jbgz,10,2) AS 工资 FROM sjk!js; UNION; SELECT ‘总额’+SPACE(14) AS 系名,; SPACE(8) AS 姓名,STR(SUM(js.jbgz),10,2) AS 工资; FROM sjk!js ORDER BY 1 ? 该查询中组合了三个SELECT命令:第一个SELECT命令按系科分组查询工资总额,第二个SELECT命令每个教师的情况,第三个SELECT命令把教师表的所有记录作为一组求工资总额。 ? 第一和第三个SELECT命令中的第二列“姓名”对工资总额来说无意义,因此取值为空串,但必须与第二个SELECT命令中的姓名列同宽度,所以用space(8)函数。 ? 第三个SELECT命令中,由于“‘总额’+space(14)”值存放在“系名”列上,所以在“总额”字符串后面加14个空格,以保证与前面系名字段

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档