1、2018/10/9,管理信息系统,1,管理信息系统,信息科学技术学院,徐玉麟,Email: ,2018/10/9,管理信息系统,2,第三章 查询与统计 3.1 排序 P72(1)ON子句的字段名表示排序字段。 /A默认按升序 /D降序 /C不区分字段值中字母大小写 不可选用备注型或通用型字段来排序。 (2)可在ON子句中使用多个字段名实现多重排序,即先按主排序字段字段名1排序,对于字段值相同的记录再按第二排序字段字段名2排序,依此类推。 (3)缺省范围、FOR条件1和WHILE条件2等子句表示对所有记录排序。 (4)FIELDS子句指定新表应包含的字段,默认包含原表所有字段。,格式: SORT
2、 TO ON /A|/D/C, /A|/D/C FOR FIELDS ,2018/10/9,管理信息系统,3,例3-1 P72对SB.DBF分别按以下要求排序: (1)将非主要设备按启用日期降序排序,并要求新表只包含编号、名称、启用日期等3个字段。 (2)将主要设备按部门降序排序,当部门相同时则按价格升序排序。CLOS ALL USE SB SORT TO RQX ON 启用日期/D FIEL 编号,名称,启用日期 FOR NOT 主要设备 USE RQX LISTSORT TO BMX ON 部门/D,价格 FOR 主要设备 USE SB SORT TO BMX ON 部门/D,价格 FOR
3、 主要设备 USE BMX LIST,2018/10/9,管理信息系统,4,3.1.2 索引 P73 索引文件:一类是扩展名为IDX的索引文件(又分非压缩型和压缩型),根据一个索引表达式升序来索引数据表,。另一类是扩展名为CDX的索引文件,称复合索引文件(又分结构复合索引和“独立”复合索引)。一个索引文件中可含多个索引,每个索引代表处理记录的顺序,可以是升序,也可以是降序(DESC)。结构复合索引与数据表同名,随数据表的打开而自动打开,但必须指定主索引标识符。 “独立”复合索引不能与数据表同名,不会随数据表的打开而自动打开。,2018/10/9,管理信息系统,5,建立索引文件命令:功能:(1)
4、TO子句适用于建立单索引文件,扩展名默认为.IDXTAG子句用于建立复合索引文件及索引标识默认建立普通索引型索引文件UNIQUE表示建立唯一索引型索引文件CANDIDATE表示索引文件是候选索引型,与TAG子句 同时使用。FOR子句表示只对表中符合条件的记录建立索引。,格式: INDEX ON索引关键字TO单索引文件名 | TAG索引标识名OF复合索引文件名 FOR条件COMPACTASCENDING|DESCENDING UNIQUE|CANDIDATE ADDITIVE,2018/10/9,管理信息系统,6,例3-2 建立单索引文件示例 P75 USE sb INDEX ON 名称 TO
5、mcidx &建立名称升序排列的普通索引 型单索引文件MCIDX.IDX LIST &记录已按名称升序排列 INDEX ON -价格 TO jgidx UNIQUE &建立价格降序排列的唯一索引型单索引文件 JGIDX.IDX LIST &记录已按价格降序排列 (2)COMPACT选项用来指定单索引文件为压缩的。 (3)OF选项的复合索引文件名用于指定非结构复合索引文件的名字,缺省该选项表示建立结构复合索引文件。 (4)记录逻辑顺序默认为升序,也可用ASCENDING选项表示升序。DESCENDING选项表示降序。 (5)ADDITIVE表示建立本索引文件时并不关闭先前打开的索引文件。,201
6、8/10/9,管理信息系统,7,功能:对当前表按建立结构复合索引索引文件名与表名相同,扩展名默认为.CDXFOR子句表示只对表中符合条件的记录建立索引。DESCENDING表示按关键字的降序排列。 文件打开和关闭USE INDEX功能:打开指定的数据表,扩展名默认为DBF。不带选项,则关闭当前工作区的表文件。CLOSE ALL功能:关闭所有文件,选择1号工作区为当前工作区。,2018/10/9,管理信息系统,8,例3-3 为SB.DBF建立一个结构复合索引文件,其中包括3个索引: (1)记录以价格降序排列,索引标识为普通索引型。 (2)记录以部门升序排列,部门相同时则按价格升序排列,索引标识为
7、普通索引型。 (3)记录以部门升序排列,部门相同时则按价格降序排列,索引标识为候选索引型。USE sb INDEX ON 价格 TAG jg DESCEBDING &建立SB.CDX,关键字价格,JG为普通索引索引标识 LIST &记录已按价格降序排列 INDEX ON 部门+STR(价格,9,2) TAG bmjg &关键字为字符表达式“部门+STR(价格,9,2)”,索引标识BMJG增入SB.CDX LIST &索引表达式运算后升序排列,使记录按部门升序、部门相同按价格升序排列 INDEX ON VAL(部门)-价格/1000000 TAG bmjg1 CANDIDATE&bmgj1 为候
8、选索引型索引标识,索引标识增入SB.DBF LIST &索引表达式运算后升序排列,使记录按部门升序、部门相同按价格降序排列,2018/10/9,管理信息系统,9,用表设计器建立或修改索引有两种办法其中,在字段选项卡索引列繁的组合框中选定向上箭头为升序索引,向下箭头为降序索引,该行字段为索引关键字。字段选项卡可参阅图2.4,单击索引列的字段将会显示组合框。其二,使用索引选项卡。该选项卡中可键入关键字表达式,还可选择索引类型,字段选项卡中建立的索引也能在此选项卡显示出来。索引选项卡中索引名列下部的空白框用来直接键入新索引;插入按钮用来在当前行前插入一个空行,以供键入新索引;删除按钮则用于删除选定的
9、索引。现在说明在索引选项卡修改索引的方法。例如将索引名为bmjg1的表达式改变为“部门+编号”:单击索引名bmjg1所在行,然后单击该表达式右侧的对话按钮,即出现表达式生成器对话框- 在字段列表框中双击“部门”,在数学组合框中选定+号,在字段列表框中双击“编号”,表达式列表框中显示便与图3.2的表达式一致-选定“确定”按钮,表达式修改结束。用户也可在表达式列表框中或索引选项卡表达式列的文本框中直接键入表达式。,2018/10/9,管理信息系统,10,表的显示和访问顺序只由一个索引文件(主控索引文件)和标识(主控标识)控制。有一些命令使用主控索引文件和标识搜索记录,但是在修改表时,所有已打开的索
10、引文件都将被更新。 3、在项目管理器中建立索引 (1)利用表设计器的字段选项卡建立索引文件,第一步:选择【数据】选项卡,第二步:选择要建立索引的表,第三步:单击【修改】按钮,系统打开表设计器,2018/10/9,管理信息系统,11,第四步:选择要建立索引的关键字段,第五步:在“索引”下拉列表框中选择“无”、“升序”、“降序”,建立索引,第六步:单击【确定】按钮,索引选项卡,2018/10/9,管理信息系统,12,(2)利用表设计器的索引选项卡建立索引文件,索引选项卡,移动按钮,排序按钮,在此框中输入索引标记,在此列表框中选择索引类型,在此文本框中输入索引表达式,在此输入条件表达式,表达式生成按
11、钮,返 回,2018/10/9,管理信息系统,13,三、 索引的使用要利用索引查询,必须同时打开表与索引文件。一个表可以打开多个索引文件,同一个复合索引文件中也可能包含多个索引标识,但任何时候只有一个索引文件能起作用,在复合索引文件中也只有一个索引标识能起作用。当前起作用的索引文件称为主控索引文件,当前起作用的索引标识称为主控索引。也就是说,实现索引查询必须满足以下的条件,即:打开表;打开索引文件;确定主控索引文件;对于复合索引文件还须确定主控索引。 1. 打开和关闭索引文件SET INDEX TO 功能:打开指定的索引文件,可同时指定打开多个索引文件,第一个为主索引。只有主索引的关键字在SE
12、EK命令中起作用。缺省,则关闭所有索引。 自动更新 :SET ORDER TO TAG 功能:在结构复合索引文件打开后,指定主索引标识符。缺省,则撤消主索引。,2018/10/9,管理信息系统,14,SET ORDER TO 功能:在打开多个索引文件后,可指定第N个为主索引。缺省,则撤消主索引。 例3-4 根据例3-2、例3-3建立的索引改变主控索引。 USE sb INDEX mcidx,jgidx &打开MCIDX.IDX(索引序号为1,主控索引文件)和JGIDX.IDX(索引序号为2) LIST &记录按名称升序排列 SET ORDER TO TAG jg &指定SB.CDX的索引标识J
13、G为主控索引,JG索引序号为3 LIST &记录按价格降序排列 SET ORDER TO 1 &指定MCIDX.IDX为主控索引 LIST &记录按名称升序排列 SET ORDER TO &取消主控索引文件及主控索引 LIST &记录按物理顺序显示 SET ORDER TO 3 &指定SB.CDX的索引标识JG为主控索引 LIST &记录按价格降序排列 SET ORDER TO &关闭所有.IDX文件,取消主控索引 LIST &虽SB.DBF未关闭,但未确定主控索引,记录按物理顺序显示,2018/10/9,管理信息系统,15,删除索引标识 DELETE TAG ALL|索引标识1,索引标识2.
14、 3.2 查找记录命令 P77功能:在数据表中搜索满足的第一个记录。搜索成功,记录指针指向该记录,函数FOUND()的为.T.(真),EOF()的值 为.F.(假);不成功,记录指针指向底部,函数 FOUND()的值为.F.(假)。如取为ALL时,函数EOF()的值为.T.(真)。缺省范围表示ALL查到记录后,要继续往下查找满足条件的记录必须用CONTINUE命令。,格式: LOCATE FORCONTINUE,2018/10/9,管理信息系统,16,例3-4 在SB.DBF中查询价格小于15000元的非主要设备。 P78 USE SB LOCA FOR 价格15000 AND NOT 主要设
15、备 DISP CONT ?RECN(),名称,价格,主要设备 &显示:6 复印机 10305.01.F. CONT &状态条显示:已到定位范围末尾。 DISP USE,2018/10/9,管理信息系统,17,索引查询命令 SEEK命令用法示例 例3-5 P78 USE SB INDE ON 编号 TAG BH SEEK 038-1 &不可写为:SEEK编号=“038-1” ? RECN() &显示:4 INDE ON 启用日期 TAG QYRQ SEEK 3/5/90 SET STRI TO 0 SEEK 3/5/90 ? FOUN() &显示.T.,表示找到该日期 INDE ON 价格 TA
16、G JP SEEK 1000.00 ? RECN(),FOUN() &除在状态条中显示“没有找到。”外, 还在主屏幕显示:8 .F. USE,2018/10/9,管理信息系统,18,例3-6模糊查询与精确查询示例 P79 USE sb SET ORDER TO TAG bh SEEK “03” &按编号前两个字符查找 ?RECNO(),FOUND() &显示:3 .T. SET EXACT ON &设置完全匹配环境 SEEK “03” ?FOUND() &返回 .F. SET EXACT OFF &恢复成模糊匹配环境,2018/10/9,管理信息系统,19,3.2.3数据工作期 P79 多工作
17、区的查询 功能:选择当前工作区,可直接指定工作区号,也可通过指定 已打开的数据表名来指定工作区。SELECT 0是选择当前末使用的最低编号的工作区。 1. 工作区号表打开后才能进行操作,实际上打开表就是把它从磁盘调入内存的某个工作区。VFP提供了32767个工作区,编号从1到32767。每个工作区只允许打开一个表,在同一工作区打开另一个表时,以前打开的表就会自动关闭。反之,一个表只能在一个工作区打开,在其末关闭时若试图在其它工作区打开它,VFP会显示信息框提示出错信息“文件正在使用”。,格式: SELECT ,2018/10/9,管理信息系统,20,2. 别名前10个工作区除使用110为编号外
18、,用AJ十个字母来表示,后称为工作区别名。表也有别名,并可用命令“USE文件名ALIAS别名”来指定。例如命令“USE SB ALIAS SEBEI”即指定SEBEI为SB.DBF的别名。若未对表指定别名,则表的主名将被默认为别名,例如命令“USE SB”表示SB.DBF的别名也是SB。工作区互访:.,2018/10/9,管理信息系统,21,RMDM.DBF 结构:bmdm(代码c() 记录: 记录号 代码 名称 办公室 设备科 一车间 二车间 三车间,. 结构:ZZ(编号c(),增值n(8,2) 记录: 记录号 编号 增值 016-1 2510.00 016-1 1000.00 038-1
19、1200.00,2018/10/9,管理信息系统,22,例3-7 通过多区操作从部门代码查出部门名。 CLOSE ALL &关闭所有打开的表,当前工作区为1号工作区 SELECT 0 &1号工作区未打开过表,选定的工作区即该区 USE sb GO 3 &移至3号记录,注意该记录的部门字段值为22 SELECT 0 &选定2号工作区为当前工作区 USE bmdm INDEX ON 代码 TAG dm SEEK sb.部门 &即SEEK 22 ?sb.编号,a.名称,名称 &显示“037-2 磨床 二车间”。这里“a.名称”指sb.名称,“名称”指bmdm.名称 SELECT sb &选定SB.D
20、BF所在工作区为当前工作区 ?编号,名称,bmdm.名称 &显示“037-2磨床 二车间”,2018/10/9,管理信息系统,23,例3-8 数据工作期窗口操作示例,要求: 视频3-8 (1) 同时打开SB.DBF和BMDM.DBF。 (2) 为SB.DBF设置包括编号、名称、部门等字段的字段表,并以编号大于03为条件设置过滤器,随后打开浏览窗口。 操作步骤: (1) 打开数据工作期:选定窗口菜单的数据工作期命令,屏幕出现数据工作期窗口。 (2) 打开表:在数据工作期窗口选定“打开”按钮-在打开对话框中选定SB.DBF-选定“确定”按钮返回数据工作期。 以同样方法打开BMDM.DBF。 (3)
21、 设置字段表和过滤器:在别名列表框中选定表SB-选定“属性”按钮-在工作期属性对话框中选定“字段筛选”按钮-在如图3.5所示的字段选择器对话框中把编号、名称、部门字段从所有字段列表框移到选定字段列表框中-选定“确定”按钮返回工作区属性对话框-选定“字段筛选指定的字段”选项按钮-在数据过滤器文本框中键入条件“编号“03”-在索引顺序组合框中选定“无顺序”(表示不使用索引)选项-选定“确定”按钮返回数据工作期。 (4) 为SB.DBF打开浏览窗口:选定“浏览”按钮。操作结果如图3.3所示。,2018/10/9,管理信息系统,24,例3-8 P80,3.3.2 数据工作期窗口,3.3.2 数据工作期
22、窗口,2018/10/9,管理信息系统,25,2018/10/9,管理信息系统,26,2018/10/9,管理信息系统,27,2018/10/9,管理信息系统,28,2018/10/9,管理信息系统,29,2018/10/9,管理信息系统,32,视图文件数据工作期设置的环境可以作为视图文件保存,以便在需要时恢复它所保存的环境。 一、 视图文件的建立 1. 菜单操作数据工作期未关闭时,可选定文件菜单的“另存为”命令来建立视图文件,系统默认视图文件的扩展名为.VUE。 2. 命令操作功能:为VFP的当前数据工作环境建立一个视图文件。 打开视图文件意味着恢复环境,相当于重新执行一系列先前设置的命令。
23、前所建立的视图文件SB.VUE可利用菜单来打开: 打开-视图(*.VUE)-文件SB.VUE-确定。,格式: CREATE VIEW视图文件名,2018/10/9,管理信息系统,33,3.3 表的关联 P83 一、 关联的概念 1. 关联条件建立关联的两个表,总有一个是父表,一个为子表。在执行涉及这两个表数据的命令时,父表记录指针的移动,会使子表记录指针自动移到满足关联条件的记录上。 2. 多一关系 P84图3.6 3. 一多关系 二、 在数据工作期窗口建立关联 例3-9 查询1992年起启用的设备,要求显示查到的设备的编号、名称、启用日期和部门名。 分析:由于查到设备后要显示部门的名称而不是
24、代码,可将表SB.DBF和BMDM.DBF进行关联。关联时将SB的部门字段值与BMDM的代码字段值进行比较。,2018/10/9,管理信息系统,34,3.3.3 用命令来建立关联 1. 建立关联命令功能:以当前表为父表与其它一个或多个子表建立关联。 设置的多一关系可用如下命令序列来表达: SELECT 2 USE bmdm &打开子表 INDEX ON 代码 TAG 代码 ADDITIVE &子表在代码字段建立索引 SELECT 1 USE sb &打开父表 INDEX RELATION TO sb.部门INTO bmdm ADDITIVE &指定在部门字段对子表设置多一关系,格式: SET
25、RELATION TO表达式1INTO别名1,., 表达式NINTO别名NADDITIVE,2018/10/9,管理信息系统,35,例3-9 查询1992年起启用的设备,要求显示查到的设备的编号、名称、启用日期和部门名。视频3-9 分析:由于查到设备后要显示部门的名称而不是代码,可将表SB.DBF和BMDM.DBF进行关联。关联时将SB的部门字段值与BMDM的代码字段值进行比较。 解一:以SB.DBF为父表,BMDM.DBF为子表建立多一关系。 (1) 打开表:窗口-数据工作期-打开SB.DBF和BMDM.DBF。 (2)为子表建立索引:BMDM-属性-修改-在表设计器窗口为代码选升序-确定。
26、 (3) 建立关联:选SB-关系-BMDM-在如图3.7所示“设置索引顺序”对话框中确定-表达式生成器的字段列表框中双击“部门”字段(参阅图3.8)-确定, 多一关系建立完成。数据工作期显示如图3.9所示。 其中的“设置索引顺序”对话框,其作用是选定一个索引作为主控索引。 (4) 建立视图文件:文件-另存为-SBBM-保存。 (5) 显示结果:参照例3-9在“工作区属性”对话框中进行字段筛选(必须选定“字段筛选指定的字段”选项按钮)。也可以用如下命令显示结果: SET STRICTDA TO 0 &使用通常的日期格式 BROWSE FIELDS BMDM.名称:H=部门名,Sb.编号,Sb.名
27、称:H=设备名,; Sb.启用日期 FOR Sb启用时间=01/01/92 该命令中用参数“:H=”将字符显示名变的更易理解,执行结果见图3.10。,2018/10/9,管理信息系统,36,用命令来建立关联 1. 建立关联命令 命令格式: SET RELATION TO表达式1INTO别名1,.,表达式NINTO别名N ADDITIVE 功能:以当前表为父表与其它一个或多个子表建立关联。 (1)表达式用来指定父表的字段表达式,其值将与子表的索引关键字值对照,看二者是否相同。别名表示子表或其所在的工作区。 (2)ADDITIVE 保证在建立关联时不取消以前建立的关联。 例3-9 设置的多一关系可
28、用如下命令序列来表达: SELECT 2 USE bmdm &打开子表 INDEX ON 代码 TAG 代码 ADDITIVE &子表在代码字段建立索引 SELECT 1 USE sb &打开父表 INDEX RELATION TO sb.部门INTO bmdm ADDITIVE &指定在部门字段对子表设置多一关系 显示关联后结果的命令也请参阅例3-10。,2018/10/9,管理信息系统,37,一多关系的命令 P88 命令格式: SET SKIP TO表别名1,表别名2.例3-10 列出所有设备的价格,增殖和部门名,写出命令 分析:本题涉及sb.zz和BMDM3个表,属于一对多关系,sb与b
29、mdm 为多一关系,sb与zz为一多关系 CLOSE ALL SECELT 2 USR BMDM SET ORDER TO TAG 代码 SELECT 3 USE ZZ INDEX ON 编号 TAG BH SELECT 1 USE SB 父表 SET RELATION TO SB.部门 INTO BMDM SET RELATION TO SB.编号 INTO ZZ ADDITIVE SET SKIP TO ZZ 子表ZZ为多方 BROW FLELDS 编号,价格.ZZ.增殖,BMDM.名称:H=部门名,2018/10/9,管理信息系统,38,3.4 数据库的统计 P88 COUNT FOR
30、TO 功能:统计当前数据库中指定范围内符合条件的记录数,并存入指定的内存变量。 SUM TO FOR 功能:对当前数据库中的数值型字段或含数值型字段的数值表达式累加求和,并存入指定的内存变量。 AVERAGE TO FOR 功能:对当前数据库中的数值型字段或含数值型字段的数值表达式求算术平均值。,2018/10/9,管理信息系统,39,COUNT FOR WHILE TO AA SUM FOR WHILE TO AA|ARRAY AVERAGE FOR WHILE TO AA |ARRAY CALCULATE FOR WHILE TO AA |ARRAY TOTAL TO ON FIELDS
31、FOR WHILE ,2018/10/9,管理信息系统,40,例3-11 统计设备科设备台数 SET VIEW TO SBBM LOCA FOR BMDM.名称=设备科 DM=BMDM.代码 COUN FOR SB.部门=DM TO TS ?设备科设备台数:,TS &2 例3-12 LOS ALL USE SB IN 0 USE ZZ IN 0 SUM SB.价格,ZZ.增值 TO MJG,MZZ ? 价格和,增值和:,MJG,MZZ &505859.47 17570.00 例3-13 CLOSE ALL USE sb IN 0 USE ZZ IN 0 CALCULATE SUM(SB.价格)
32、, SUM(ZZ.增值) TO jgh,ZZH ?“价格与增值总和:”,JGH+ZZH,2018/10/9,管理信息系统,41,3.5.结构化查询语言,(一)SELECT命令,1.简要语法:SELECT ;FROM ;ON ;WHERE ;GROUP BY ;HAVING ;ORDER BY ;INTO ,2.运行查询文件DO QUERY 说明:查询文件是以QPR作为扩展名的文本文件。,2018/10/9,管理信息系统,42,(二)查询设计工具,启动查询设计工具方式:命令方式:CREATE QUERY MODIFY QUERY MODIFY QUERY A:T.QPR 菜单法:文件新建查询新建
33、文件启动后出现“查询设计器”窗口,2018/10/9,管理信息系统,43,1.“查询设计器”窗口,MODIFY QUERY A:T.QPR,2018/10/9,管理信息系统,44,窗口的组成: 上半部分:显示所要查询的源数据表 字段页: 指定出现在查询输出中的字段及表达式 联接页: 指定源数据表之间的联接类型及联接条件 筛选页: 指定源数据表的记录筛选条件 排序依据:指定输出字段的排序依据 分组依据:指定分组依据及满足条件,2018/10/9,管理信息系统,45,2.指定源数据表及联接条件,在“查询设计器”对话框中按“添加表”按钮,则出现“打开”对话框,打开源数据库。如果打开多个源数据库时,就
34、会出现“联接条件”对话框,用于定义数据表之间的联接条件。,2018/10/9,管理信息系统,46,FROM INNER JOIN ON AND,2018/10/9,管理信息系统,47,运算符中有两个特殊的运算符 Between 判断字段值是否在指定的两个数值之间。例如:判断CSRQ在58/01/0169/01/01zg.CSRQ Between 58/01/01,69/01/01又如:判断GL在510年之间zg.GL Between 5,10 IN 判断字段值是否出现所指定的各个数据值之中。将GL为5,10,15的记录列出zg.GL IN 5, 10, 15 注意:各过滤条件之间的缺省关系为A
35、ND,如果是 OR,则必须单击OK按钮。连接条件是同时对所有过滤条件都起作用的,2018/10/9,管理信息系统,48,例:列出GZ大于等于200且小于等于300的人ZG.ZG Between 200,300 例:列出工号GH(C)大于等于001且小于等于099的人ZG.ZG Between “001”,”099” 例:列出姓名xm等于Mary或等于J或等于PeterZG.XM In “Mary”,”J”,”Peter” 例:csrq等于58年1月1日或等于69年1月1日CSRQ In 58/01/01,69/01/01,2018/10/9,管理信息系统,49,3.选择要出现在查询结果中的字段
36、 SELECT,使用复合字段,可对字段中的数据进行统计、计算,2018/10/9,管理信息系统,50,4.记录筛选条件 WHERE,主要是筛选出符合条件的记录。,2018/10/9,管理信息系统,51,5.排序依据 ORDER BY,是对查询结果进行升/降的排序。,2018/10/9,管理信息系统,52,6.分组依据 GROUP BY,主要用于进一步计算各个分组数据的统计值。,2018/10/9,管理信息系统,53,满足条件 HAVING,与分组依据联合使用,设定最终的输出组。,2018/10/9,管理信息系统,54,抓住两点:如果题目中出现“.生成数据库T4.DBF,每种xx(如商品)对应-
37、个记录”的字样,而根据题意每种XX(如商品)在源库中又有多条记录,那么-般应按xx(如商品)进行分组;也可抓住字段函数这个特征:-般来说只要输出字段中有字段函数就得分组,否则整个临时库只生成-条记录;分组后,不包含字段函数的普通字段的值等于每组内最末-条记录中该字段的值,2018/10/9,管理信息系统,55,COUNT( ): 统计记录个数 (P92) SUM( ): 计算数值字段的累加和 AVG( ): 计算数值字段的算术平均值 MIN ( ): 计算数值字段的最小值 MAX ( ): 计算数值字段的最大值 COUNT(DISTINCT 字段名): 重复出现只计一次 SUM(DISTINC
38、T 字段名): 重复出现只计一次 AVG(DISTINCT 字段名): 重复出现只计一次,2018/10/9,管理信息系统,56,记录过滤条件还是分组过滤条件,同样也可抓住两点: 根据题意进行分析,例如题目要求生成数据库T4.DBF,总销售数量大于等于XXX的每种商品对应-个记录,显然这里的条件”总销售数量大于等于XXX”是对分组记录的限定,因此应作为分组过滤条件; -般来说,如果过滤条件中用到字段函数,那么该条件应作为分组过滤条件,这是因为字段函数作用于-组记录,如对于-组记录的某个字段求和、求平均值等等。而记录过滤条件用于对库中的每-条记录进行选取,是针对单个记录的选择条件。因此字段函数不
39、应出现在记录过滤条件中,如果过滤条件未用到字段函数,则应根据题意具体情况具体分析,判断该条件是对源库记录的限定,还是对分组记录的限定。,2018/10/9,管理信息系统,57,7.查询去向,2018/10/9,管理信息系统,58,8.运行查询,2018/10/9,管理信息系统,59,9.保存查询,或在菜单中选择“文件”“保存”,单击 按钮,2018/10/9,管理信息系统,60,3.6 数据库与视图,2018/10/9,管理信息系统,61,例 3-16;3-17;3-19;3-20;3-21;3-22,2018/10/9,管理信息系统,62,例 3-16;3-17;3-19;3-20;3-21;3-22,2018/10/9,管理信息系统,63,例 3-16;3-17;3-19;3-20;3-21;3-22,2018/10/9,管理信息系统,64,例 3-16;3-17;3-19;3-20;3-21;3-22,