




已阅读5页,还剩38页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualFoxPro编程教程,讲师:徐宏博电子邮件:x_h_b,数据查询常用于软件开发,如学生成绩管理、人事档案、图书检索等软件。查询的准确性和速度直接影响软件的质量、效率、应用和维护。VFP开发工具通过三种方式解决查询问题:使用查询设计器创建查询;使用视图设计器创建视图;用SQL语句查询。第4章查询和查看,4.1概念4.1.1查询,使用查询设计器,从数据库表或自由表中获取有用的数据,在设置了查询条件和查询要求后,形成一个带有qpr后缀的文件,由do命令执行。使用视图设计器从数据库表中获取有用的数据,并通过设置查询条件和查询要求(如查询)来形成视图。视图作为视图名称存在于数据库中。更新视图中的数据可以更新源表中的相应数据。视图在数据库中执行。在4.1.2视图中,SQL语言是关系数据库的标准语言。这是一种结构化查询语言。它集成了数据定义语言、数据操作语言和数据控制语言的功能。4 . 1 . 3查询,4.2查询语句4 . 2 . 1选择查询语句,1。基本报表格式:选择到DBF |表从到哪里功能:从表名列表中查询符合条件的表,并按格式显示。如果选择了INTODBF|TABLE子句,查询结果将存储在新表中。描述:格式:全部|独特百分比别名。 列名列名 ,别名。列名为列名所有|不同子句:所有输出都有重复记录,这是该子句的默认值。DISTINCT输出结果没有重复记录。托普百分比条款:托普是合格内容中的第一个记录。PERCENT是第一个记录。别名。 列名列名 ,别名。列名作为列名子句:列名可以是字段或包含字段的表达式。指定输出结果中的字段。该子句还可以替换*以显示表中此时的所有字段。例如,4.1应用“选择”的基本语句,打开数据库从学生中选择*从学生中选择*到表格学生中选择姓名,从学生中选择录取结果,其中录取结果=500从学生中选择不同的性别选择学生。学生编号,学生。姓名,学生成绩。数学来自学生,学生成绩来自学生。性别=女性和学生成绩。数学=60和学生。学生人数=学生成绩。学生编号选择2 *从学生订单中按学生编号关闭数据库全部,2、选择常用的系统功能,在实际应用中经常是统计、平均、汇总等操作。SQL提供了一些常见的系统功能。3,选择分组子句,格式:分组由,具有功能:分组查询结果。HAVING要指定分组必须满足的条件,示例4.2分组查询应用程序,opendatabase学生从学生中选择vg,从学生中选择count(*),从学生中选择sum,按性别分组,性别=女性,4,排序子句,格式:orderby ASC | DESC ,ASC | DESC函数:查询结果按关键字排序,ASC升序是默认值,DESC是降序,示例4.3查询排序应用程序,opendatabase学生从学生订单按入学结果描述中选择学生编号、姓名、入学结果。学生编号,学生。姓名,学生成绩。英语来自学生,学生成绩来自学生。学生人数=学生成绩。学生编号按学生成绩排序。英语selectavg(录取结果)作为“平均录取结果”从学生组按性别排序按录取结果descclosedatabaseall,5,嵌套查询,嵌套查询是应用SELECT语句中的SELECT语句。包含的SELECT子句通常称为子查询,(1)IN和比较运算符等谓词一起使用。示例4.4IN和NOTIN在嵌套式where ClosedatabaseALL中的应用,(2)使用量词和谓词的嵌套查询,格式:ANY|ALL|SOME(子查询)not exit(子查询)描述:ANY,ALL,SOME是量词,ANY和SOME是同义词,在查询中,结果是。只要一行子查询就可以得到结果。ALL要求子查询中所有行的结果都是。在结果出来之前。t.EXIST或NOTEXIST用于检查子查询中是否有返回的结果。如果有结果,EXIST返回真,否则返回假。NOTEXIST与EXIST正好相反。例如4.6,学生编号、姓名、开放数据库学生选择学生编号、学生姓名(从学生成绩中选择*其中学生编号=学生。学生人数和数学=90)被查询。例4.7寻找比所有录取分数低于500的学生更年轻的学生。开放数据库学生选择*从学生出生的地方所有(选择出生的学生,录取分数为500)关闭数据库,6,几个特殊运算符,(1)BEHAVIN and运算符格式:BEHAVIN and说明:表示在一个区间范围内,例如4.8查询录取分数为480-600的学生,而不是500-600的学生,开放数据库学生选择*从录取结果在490和600之间的学生选择*从录取结果不在490和600之间的关闭数据库所有,(2) LIKE运算符,在LIKE之后包含%或%代表0个或更多字符,_代表一个字符。例如,4.9查询所有姓王的学生,查询前两个字符为王丽的学生,打开数据库学生从学生中选择*如“王%”,从学生中选择*如“王丽_”closedatabaseall,7,连接查询,格式:LEFT | RIGHT | FULL JOIN ON,(1) LEFT JOIN是左连接。基于满足连接条件的记录出现在结果中,不满足第一个表中条件的记录也出现在结果中。例4.11使用左连接查找学生表,学生成绩表打开数据库学生从学生中选择*左连接学生成绩。学生证=学生成绩。学生标识关闭数据库,(2)右连接是正确的连接。基于满足连接条件的记录出现在结果中,不满足第二个表中条件的记录也出现在结果中。示例4.12使用正确的连接查找学生表和学生成绩表打开数据库学生从学生权利中选择*加入学生成绩。学生证=学生成绩。学生ID closedatabaseall,(3)FULLJOIN是完全连接。也就是说,满足连接条件的记录出现在结果中,不满足两个表的连接条件的记录也出现在结果中。4.13使用完全连接查找学生表和学生成绩表打开数据库学生从学生中选择*完全加入学生成绩。学生证=学生成绩。学生编号closedatabaseall,8,UNION子句。使用此子句,多个表的查询结果可以合并为一个结果,这要求查询结果具有相同的字段和数字,并且相应的字段类型要兼容。例如:从学生中选择*其中性别=女性 unionall从学生中选择*其中性别=男性,9,存储查询结果,(1)使用INTODBF|TABLE将查询结果存储在表中(2)使用INTOARRAY将查询结果存储在数组中(3)使用INTOCURSOR将查询结果存储在临时表中(4)使用TOFILEADDIATE将结果存储在文本文件中,并使用ADDIATE将结果附加到指定文本文件的末尾。否则,原始文档将被覆盖,例如4.15对结果存储的应用。开放数据库学生选择*从学生到表格新学生选择*从学生到数组选择*从学生到光标临时学生选择*从学生到文件学生文本关闭数据库,4.2.2操作功能(插入、更新、删除),1。插入格式1:插入到字段1,字段2,值(表达式1,表达式2)格式2:插入到fromArray数组数组名称| MEMVAR函数:在表的末尾添加指定字段的记录描述:(1)格式1中的字段名称1和字段名称2是用于指定添加的记录的字段名称。如果省略,将解释所有字段。表达式1和表达式2是添加的字段1和字段2的特定值。(2)格式2数组名是从指定数组添加记录的值,MEMVAR是从与字段同名的内存变量添加记录的值,示例4.16插入应用程序,开放数据库学生使用学生结果插入学生结果值(“105010120”,90,80,72)go1 cattermemvarinsertinto学生分数FrommemVargo 2 SCATTEROAINSERTINTO学生分数fromarraya,2,更新,格式:UPDATESET字段名1=,字段名2= WHERE 如果省略WHERE,更新所有记录的值,示例4.17更新应用程序,使用学生成绩更新学生成绩集数学=数学10其中数学100使用,4.3查询,4.3.1创建查询1,使用向导创建查询2,使用查询设计器创建查询4.3.2执行查询1,使用接口执行查询2,使用命令执行查询DO,4.3.3查询设计器的限制,查询设计器创建的查询简单易学,但在使用中有一定的限制。 它适用于更标准化的查询,而不适用于更复杂的查询例如,4.22查询具有最高入学分数的学生的信息,opendatabase学生选择1、a1、姓名、a1、来自学生的入学分数以及1其中入学分数=(selectmax)来自学生asb1wherea1,学生编号=b1,学生编号)closedatabaseall,4.4查看查询、查看和查询都从表中获取数据。 视图和查询的区别在于视图是一个虚拟表。只有视图的定义存储在数据库中。数据库不存储视图的相应数据。这些数据仍然存储在表中。该查询作为qpr文件存储在磁盘中。更新视图的数据和更新表的数据与查询完全不同。4.4.1建立本地视图,1。引导建立视图,2。视图设计器建立视图,4.4.4运行视图,在数据库打开的基础上运行视图,使用界面执
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新能源汽车动力蓄电池与充电系统(微课版) 课件 任务1.1新能源汽车高压安全与防护
- Federelin-Gonadorelin-6-D-Phe-生命科学试剂-MCE
- 2025年南京市国企考试真题
- 合肥市蜀山区事业单位招聘笔试真题2024
- 2025年阿尔山事业单位真题
- 农发行梅州市五华县2025秋招笔试性格测试题专练及答案
- 农发行大连市瓦房店市2025秋招信息科技岗笔试题及答案
- 2025年废旧塑料回收利用技术突破与产业链协同发展模式研究报告
- 2025年智能家居语音交互技术用户体验优化报告
- 2025年新能源汽车自动驾驶技术在高速公路自动驾驶系统安全风险防范报告
- 液压泵站使用说明书
- E190飞机舱门开关
- 儿科学腹泻病
- CT介入学及CT引导下肺穿活检术课件
- GB/T 3871.9-2006农业拖拉机试验规程第9部分:牵引功率试验
- GB/T 3836.4-2021爆炸性环境第4部分:由本质安全型“i”保护的设备
- GB 17840-1999防弹玻璃
- 文学鉴赏-课件
- 小军师面试万能绝杀模板-组织管理
- midasCivil斜拉桥分析课件
- 应急响应程序流程图
评论
0/150
提交评论