欢迎来到天天文库
浏览记录
ID:44958216
大小:3.78 MB
页数:34页
时间:2019-11-06
《第4章查询和视图》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、查询和视图第4章2021/9/1514.1概述查询:向一个数据源发出检索信息的请求,它使用一些条件提取特定的记录。查询的本质创建查询基于特定的数据源查询的运行结果是一个基于表和视图的动态的、只读的数据集合。一个查询可以用一条SELECT-SQL语句来完成。查询保存为一个扩展名为.QPR的文件。文件中保存的是实现查询的SELECT-SQL命令,而非查询的结果。查询的建立方法查询设计器:项目管理器SELCET-SQL命令类型上:可以是自由表、数据库表或视图。数量上:可以上单张表或多张表。2021/9/152通过以下几个步骤建立查询:打开“查询设计器”开始建立查询
2、选择想从中获取信息的表或视图,并建立好它们之间的关系选择出现在查询结果中的字段设置筛选条件来查找所需的记录设置排序或分组选项来组织查询工作选择查询结果的输出类型保存创建的查询,将查询文件保存为带.QPR扩展名的文件。运行查询2021/9/1534.2用查询设计器建立查询建立基于单张表的查询例:查询教师表中所有女教师的姓名,性别,出生日期和工作日期,并工作日期升序排序。1.打开查询设计器2.“字段”:确定查询要输出的字段或表达式保存:.QPR;运行DO文件名.QPR;查看SQL语句3.“筛选”:确定查询条件,定义记录子集;4.“排序”:指定查询结果的记
3、录顺序2021/9/154建立基于多表的查询P117当需要获取存储在两个或更多表或视图中的信息时,只要把所有有关的表添加到查询中,并设置它们之间的联接关系。1.联接和联接条件联接(Join),是指查询或视图的一个数据库操作。通过比较指定字段中的值联接两个或多个表或视图中的记录。2.联接的类型P117表4-22021/9/155建立基于多表的查询二.建立多表查询例1.P1112021/9/1565.“分组”:用于生成分组查询,把具有相同字段值的记录分为一组,合并为查询结果中的一条记录以完成基于一组记录的计算或统计;如何判别一个查询是否需要进行分组?一般地说,如果题
4、意中有统计的要求,都要进行分组。而且这样的查询,题意中大多有各、每等字样。例:计算js表中各个系的人数例:统计每门课程的选课人数2021/9/157如何确定分组一般地说,在各、每等字样后紧跟的词,就是分组的依据。例:计算js表中各个系的人数按js表的系代号xdh字段分组例:统计每门课程的选课人数按cj表的课程代号kcdh字段分组但也有一些分组查询中不出现各或每字样,这些查询需要从题意中分析出。例:求js表中男女教师的人数按js表的性别xb字段分组2021/9/158P114例2合计函数:COUNT(),SUM();AVG();MAX();MIN()在分组基础上,
5、对查询结果筛选:如平均成绩在80分以上6.“杂项”7.查询结果的输出类型:查询---查询去向2021/9/1594.3SELCET-SQL2021/9/15104.3.1SQL概述SQL(StructuredQueryLanguage,结构化查询语言)是美国国家标准局ANSI确认的关系数据库语言的标准。VFP支持SQL。一个SQL命令可以代替多个VFP命令。2021/9/1511VFP支持如下SQL命令:SELECT-SQLALTERTABLE-SQLCREATECURSOR-SQLCREATETABLE-SQLDELETE-SQLINSERT-SQLUPDAT
6、E-SQL2021/9/1512SELECT-SQL命令的语法:SELECT[ALL
7、DISTINCT][TOPnExpr[PERCENT]][Alias.]Select_Item[ASColumn_Name][,[Alias.]Select_Item[ASColumn_Name]...]FROM[FORCE][DatabaseName!]Table[[AS]Local_Alias][[INNER
8、LEFT[OUTER]
9、RIGHT[OUTER]
10、FULL[OUTER]JOINDatabaseName!]Table[[AS]Local_Alias][O
11、NJoinCondition…][[INTODestination]
12、[TOFILEFileName[ADDITIVE]
13、TOPRINTER[PROMPT]
14、TOSCREEN]][WHEREJoinCondition[ANDJoinCondition...][AND
15、ORFilterCondition[AND
16、ORFilterCondition...]]][GROUPBYGroupColumn[,GroupColumn...]][HAVINGFilterCondition][UNION[ALL]SELECTCommand][ORDERBYOrder_Ite
17、m[ASC
18、DESC][
此文档下载收益归作者所有