第5章查询与视图课件.ppt
《第5章查询与视图课件.ppt》由会员分享,可在线阅读,更多相关《第5章查询与视图课件.ppt(58页珍藏版)》请在三一办公上搜索。
1、第 5 章 查 询 与 视 图,1,感谢你的观看,2019年7月19,主要内容:1、结构化查询语言SQL2、查询设计器的使用3、视图及视图设计器4、查询与视图的区别重点:1、结构化查询语言SQL 的查询语句2、查询设计器的使用难点:1、结构化查询语言SQL 的查询语句 2、查询与视图的区别要求:1、掌握结构化查询语言SQL的数据定义、数据操纵 及数据查询语句2、掌握使用查询设计器设计查询的方法3、掌握视图的概念及其和查询的区别4、掌握使用查询设计器设计查询的方法,2,感谢你的观看,2019年7月19,5.1 查询与统计命令,数据查询通常包括对数据表中原始数据的直接检索和对原始数据做特定的统计和
2、计算两类。,3,感谢你的观看,2019年7月19,5.1.1 数据“筛选过滤”,“筛选过滤”分为横向和纵向两种。前者叫做记录筛选,它能够屏蔽掉不满足条件的记录集;后者叫做字段筛选,它能够屏蔽我们不感兴趣的字段集。记录筛选实现了关系运算中的选择运算(Selection),字段筛选实现了关系运算中的投影运算(Projection)。1记录筛选命令:SET FILTER(1)格式 SET FILTER TO(2)功能 设置当前表中可以被访问的记录必须满足的条件。2设置字段筛选命令:SET FIELDS(1)格式 SET FIELDS TO/ALL LIKE/EXCEPT 字段名通配式(2)功能指定当
3、前表中可以被访问的字段。,4,感谢你的观看,2019年7月19,(3)参数说明:逐一列出当前表中可被访问的字段的名称。ALL:表示允许访问当前表中的所有字段。ALL LIKE 字段名通配式:表示当前表中所有与字段名通配式相匹配的字段均为可被访问字段。ALL EXCEPT 字段名通配式:表示当前表中所有不与字段名通配式相匹配的字段均为可被访问字段。例子:设置STUDENT表中只有“计算机”专业学生的学号、姓名、出生日期三个字段可被访问。,5,感谢你的观看,2019年7月19,在命令窗口输入如下命令:USE STUDENTBROWSESET FILTER TO 专业=“计算机”SET FIELDS
4、 TO 学号,姓名,专业BROWSE显示结果如图所示。,6,感谢你的观看,2019年7月19,5.1.2 顺序查询与索引查询,VFP提供了顺序查询和索引查询两种查询定位方法,前者是按照记录的物理排列顺序依次查询并定位于满足指定要求的第一条记录;后者是利用索引文件根据索引关键字的值基于二分算法进行查询定位。1.顺序查询命令:LOCATE(1)格式 LOCATE FOR(2)功能 执行该命令,系统在指定的记录范围(缺省表示所有记录)内,顺序查询满足条件的第一个记录。提示:顺序查询不需对表事先建立索引。若要继续查找满足条件的下一个记录,应使用CONTINUE。VFP默认EXACT OFF,在此状态下
5、用LOCATE命令查找字符型数据时,进行的是不精确匹配,若要进行精确匹配查找,请使用“”。,7,感谢你的观看,2019年7月19,例子 在STAFF表中查询职称是讲师的教师记录。USE STAFF 记录:1/5(状态行上显示)LOCATE ALL FOR 职称“讲师”记录:2/5(状态行上显示)?RECNO(),FOUND()2.T.(屏幕上显示)CONTINUE 记录:4/5(状态行上显示)?RECNO(),FOUND()4.T.(屏幕上显示)CONTINUE?RECNO(),FOUND()6.F.,8,感谢你的观看,2019年7月19,2.索引查询命令:SEEK(1)格式SEEK(2)功能
6、执行该命令,系统查找主控索引关键字的值与命令中的值相匹配的第一条记录,若找到,指针指向该记录,FOUND()返回.T.;若没找到,指针指向表的eof标志,FOUND()和EOF()将分别返回.F.和.T.。,9,感谢你的观看,2019年7月19,提示:使用SEEK命令之前,要求数据表已按要查询的字段建立过索引,并被设置为主控索引。SEEK命令只能查询主控索引关键字字段,对于字符型关键字段,必须加字符串定界符;对于日期型关键字段,必须加日期定界符。例子:STUDENT表中索引查询学号为“04006”的学生姓名。USE STUDENT INDEX ON 学号 TAG XH&按学号字段建立索引,索引
7、名是XH,并自动被系统作为主控索引 SEEK 04006?姓名 周文敏(屏幕上显示),10,感谢你的观看,2019年7月19,11,感谢你的观看,2019年7月19,5.1.3 统计命令,1记录个数统计命令:COUNT(1)格式COUNT FOR/WHILE TO(2)功能 统计当前数据表中内满足的记录个数,若命令中含有,则将结果送入指定内存变量中保存。否则将统计结果显示在屏幕上。提示:如果SET DELETE是ON,已做了删除标记的记录将不被COUNT命令统计,但仍被RECCOUNT()函数统计。,12,感谢你的观看,2019年7月19,2计算总和命令:SUM(1)格式 SUM FOR/WH
8、ILE TO(2)功能 对当前数据表中内满足的记录,按指定数值字段进行纵向求和,若命令中含有,则将结果送入对应的内存变量中保存。3计算平均数命令:AVERAGE(1)格式 AVERAGE FOR/WHILE TO,13,感谢你的观看,2019年7月19,(2)功能 对当前数据表中内、满足指定条件的记录的指定数值字段进行纵向求平均值,若命令中含有,则将结果送入对应的内存变量中保存。提示:1.COUNT/SUM/AVERAGE命令中缺省时表示所有记录。2.SUM/AVERAGE命令中指定求和/求平均字段,缺省表示对所有数值型字段求和/求平均值。,14,感谢你的观看,2019年7月19,例子 统计S
9、TUDENT表中男生人数、所有男生的奖学金总额和平均值。USE STUDENT COUNT FOR 性别=.T.TO 男生人数 SUM 奖学金 FOR 性别=.T.TO 奖学金总额 AVERAGE 奖学金 FOR 性别=.T.TO 平均奖学金?男生人数,奖学金总额,平均奖学金 4 685.00 171.25,15,感谢你的观看,2019年7月19,5.1.4 多表操作命令,1工作区及其选择 共有三种标识工作区的方法:区号:分别用数字132767表示。区名:对于前10区,用字母AJ表示。从11区往后用W11W32767表示。别名:打开在工作区上的表的别名(由USE命令的ALIAS子句指定)。若不
10、指定别名,则系统自动以表名为别名选择当前工作区命令:SELECT SELECT命令来重新选择当前工作区:SELECT/0,16,感谢你的观看,2019年7月19,(3)非当前工作区字段的引用 访问当前工作区中打开表的字段时,可以直接引用字段名,而访问非当前工作区中打开表的字段时,应使用如下格式:/.或者:/-2.建立表之间的临时关系命令:SET RELATION(1)格式 SET RELATION TO INTO(2)功能 把当前工作区上的表(父表)与在另一工作区上打开的子表通过关联字段建立指针联动关系,使得当前工作区上表的指针移动时,子表的记录指针也发生相应的移动。,17,感谢你的观看,20
11、19年7月19,(3)参数说明:用于关联两表的字段表达式,通常由两表共有的字段构成,该字段必须是子表的主控索引关键字。:指定子表的区号、区名或表别名。提示:要求建立临时关系的两个表必须具有公共属性字段,且子表已按该字段建立了索引并被设置为主控索引;父表打开在当前工作区,子表打开在其它工作区。临时关系不同于永久关系,它不会永久保存,只要父表或子表关闭,或使用了取消临时关系命令SET RELATl0N TO,临时关系即随之取消。,18,感谢你的观看,2019年7月19,例:在表TEACH与COURSE之间建立临时关系,使浏览查看TEACH表中所有教工的授课情况时也能看到课程名、课时和学分。OPEN
12、 DATABASE 教学管理 SELECT 0 USE COURSE ALIAS COU&打开子表COURSE INDEX ON 课程号 TAG KCH&对子表按课程号建立索引 SELECT 0 USE TEACH&打开父表TEACH SET RELATION TO 课程号 INTO COU&按课程号建立临时关系 BROWSE FIELDS 教工号,课程号,COU.课程名,COU.课时,COU.学分,19,感谢你的观看,2019年7月19,显示结果如图:,20,感谢你的观看,2019年7月19,5.2 使用查询设计器建立查询,VFP提供了两种方法实现结构化查询:一种是用VFP 提供的“查询设计
13、器”或“查询向导”建立查询文件并运行;另一种是直接编写SELECT-SQL命令并执行。本节介绍用“查询设计器”建立查询的方法。,21,感谢你的观看,2019年7月19,5.2.1 查询设计器简介,查询设计器是创建和修改查询文件的有力工具,查询文件的扩展名为“.QPR”,其内容就是SELECT-SQL命令。启动查询设计器的方法:1.从项目管理器启动查询设计器(建议使用,以便文件的归类管理。)2.从“文件”菜单启动查询设计器。,“查询设计器”窗口,22,感谢你的观看,2019年7月19,5.2.2 使用查询设计器建立查询文件,以实例说明使用查询设计器建立查询的操作步骤。例:用查询设计器建立查询文件
14、 CJCX.QPR,根据表GRADE.DBF和COURSE.DBF,查询具有3个学分的各门课程的课程号、课程名、最高成绩、最低成绩、平均成绩和选修人数,并要求按课程号升序显示。该查询涉及表GRADE.DBF和COURSE.DBF,首先把表GRADE和COURSE按公共属性课程号字段建立关联。操作步骤如下:(1)启动查询设计器,添加“学生成绩”库中的STUDENT表、GRADE表和COURSE表(2)设置联接条件(图1)。(3)选定输出列(图2)。(4)设置筛选条件(图3)。(5)结果排序的依据(图4)。(6)分组所依据的字段(图5)(7)选择“杂项”选项卡(图6)(8)保存查询文件。,23,感
15、谢你的观看,2019年7月19,图1,图2,图3,图4,24,感谢你的观看,2019年7月19,图5,图6,25,感谢你的观看,2019年7月19,5.2.3 查询文件的使用,(1)运行查询文件,得到查询结果(图1)。(2)选择查询结果的输出去向(图1)。(3)查看生成的SELECT-SQL命令(图1)。,图1,图2,图3,26,感谢你的观看,2019年7月19,5.3 结构化查询语言SQL,SQL结构化查询语言主要特点:SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。SQL是一种高度非过程化的语言。SQL语言非常简洁。S
16、QL是关系数据库系统的国际标准语言。,27,感谢你的观看,2019年7月19,5.3.2 SELECT-SQL 命令概述,1.SELECT-SQL 命令的语法格式 SELECT ALL/DISTINCTTOP nExpr PERCENT Alias.Select_Item AS Column_Name,Alias.Select_Item AS Column_Name FROM DatabaseName!TableName AS Local_Alias,DatabaseName!TableName ASLocal_Alias INNER/LEFTOUTER/RIGHTOUTER/FULLOUTE
17、R JOIN DatabaseName!TableName ASLocal_Alias ON JoinCondition WHERE JoinCondition AND JoinConditionAND/OR FilterCondition AND/OR FilterConidion ORDER BY Order_Item ASC/DESC,Order_Item ASC/DESC GROUP BY GroupCo1umn,GroupColumnHAVING FilterCondition TO PRINTER/FILE FileNameADDITIVE/SCREEN INTO TABLE Ta
18、blename/CURSOR Cursorname/ARRAY Arrayname,28,感谢你的观看,2019年7月19,2.SELECT-SQL 命令功能:从一个或多个表中查询指定条件的数据并输出。3.参数说明(1)SELECT子句:指定查询输出的结果。ALL:表示查询结果中包括所有满足查询条件的记录,也包括重复值。默认为ALL。DISTINCT:表示在查询结果中内容完全相同的记录只能出现一次。Alias.Select_Item:指定作为查询结果的列内容,可以是字段名、常量或表达式;Alias表示表名(或表别名),用Alias.标识来自不同表的同名字段。AS Column_Name:指定查
19、询结果中列的标题名称。TOP nExpr PERCENT:限制查询记录的数目为前nExpr条或占记录总数的百分比为nExpr。注意:TOP参数必须与ORDER BY子句联用。,29,感谢你的观看,2019年7月19,(2)FROM子句:指定查询数据所在的表以及在联接条件中涉及的表。DatabaseName!TableName AS Local_Alias:TableName表示要操作的表名;DatabaseName表示数据库名,如果TableName表不是自由表,且包含它的数据库不是当前数据库,则用DatabaseName!指定数据库;Local_Alias表示表的别名。(3)JOIN子句:指
20、定多表之间的联接方式。INNER/LEFTOUTER/RIGHT OUTER/FULLOUTERJOIN:内部/左(外部)/右(外部)/完全(外部)联接。其中的OUTER关键字是任选的,它用来强调创建的是一个外部联接。ON 子句:与JOIN子句联用,指定多表之间的联接条件(JoinCondition)。(4)WHERE子句:指定多表之间的联接条件(JoinCondition)和查询条件(FilterCondition),多个条件用AND或OR联结。,30,感谢你的观看,2019年7月19,(5)ORDER BY子句:指定对查询结果排序的依据。Order_Item:指定排序所依据的列。ASC指定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 查询 视图 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3836830.html