文档详情

VFP上机练习题_索引与排序.doc

发布:2017-06-05约3.66千字共5页下载文档
文本预览下载声明
排序与索引 将sb.dbf复制到D盘根目录下的xxx文件夹(xxx可用任意字母代替),执行命令:SET DEFAULT TO D:\XXX。 一、表的排序命令SORT 示例1:将所有设备按部门降序排列,部门相同时按价格升序排列 USE SB SORT TO bmjg ON 部门/D,价格/A USE bmjg LIST 示例2:将所有设备按部门升序排列,部门相同按启用日期降序排列,要求只包含编号、名称、启用日期及部门4个字段。 USE sb SORT TO bmrq ON 部门/A,启用日期/D FIELDS 编号,名称,启用日期,部门 USE bmrq LIST 2.表的索引命令 ⑴ 建立索引的命令 示例1:为设备表以价格字段作为索引关键字建立普通索引,要求降序排列 USE sb INDEX ON 价格 TAG jg DESCENDING LIST 示例2:为设备表以编号作为索引关键字建立候选索引,要求升序排列 USE sb INDEX ON 编号 TAG bh ASCENDING CANDIDATE LIST 示例3:为设备表以启用日期作为索引关键字建立普通索引,要求降序排列 USE sb INDEX ON 启用日期 TAG qyrq DESCENDING LIST 示例4:为设备表建立索引,要求按部门升序排列,部门相同时按启用日期升序排列 USE SB INDEX ON 部门+DTOS 启用日期 TAG bmrq ASCENDING LIST 示例5:为设备表建立索引,要求按部门降序排列,部门相同时按价格降序排列 USE sb INDEX ON 部门+str 价格,9,2 TAG bmjg1 DESCENDING LIST 示例6:为设备表建立索引,要求按部门升序排列,部门相同时按价格降序排列 USE sb INDEX ON val 部门 -价格/1000000 TAG bmjg2 ASCENDING LIST 示例7:为设备表建立索引,要求按部门降序排列,部门相同时按价格升序排列 USE sb INDEX ON val 部门 -价格/1000000 TAG bmjg3 DESCENDING LIST 注意:比较示例6和示例7 ⑵ 确定主控索引的命令 示例1:确定jg为当前主控索引 SET ORDER TO TAG jg 示例2:确定bmjg2为当前主控索引 SET ORDER TO bmjg2 二、用SELECT-SQL命令建立查询 1.单表查询示例 ⑴ 查询所有设备信息 SELECT * FROM sb ⑵ 查询价格在一万元以上的设备信息 SELECT * FROM sb WHERE 价格 10000 ⑶ 查询价格在一万元以上、十万元以下的设备的编号、名称及价格 SELECT 编号,名称,价格 FROM sb WHERE 价格 10000 AND 价格 100000 ⑷ 查询所有设备的编号、名称及价格,并按价格降序排列 SELECT 编号,名称,价格 FROM sb ORDER BY 价格 DESCENDING ⑸ 查询按价格由高到低排列后的前3条记录 SELECT * FROM sb ORDER BY 价格 DESCENDING TOP 3 ⑹ 查询价格在一万元以上的设备台数 SELECT COUNT * AS 万元以上设备台数 FROM sb WHERE 价格 10000 ⑺ 查询主要设备和非主要设备的台数 SELECT 主要设备,COUNT * AS 设备台数 FROM sb GROUP BY 主要设备 ⑻ 查询资产总额 SELECT SUM 价格 AS 资产总额 FROM sb ⑼ 查询各部门资产额 SELECT 部门,SUM 价格 AS 部门资产额 FROM sb GROUP BY 部门 ⑽ 查询各部门资产额,仅列出部门资产在一万元以上的记录,并按部门资产额降序排列 SELECT 部门,SUM 价格 AS 部门资产额 FROM sb GROUP BY 部门; HAVING SUM 价格 10000 ORDER BY 2 DESCENDING ⑾ 查询各设备的累计增值金额 SELECT 编号,SUM 增值 AS 累计增值金额 FROM zz GROUP BY 编号 ⑿ 查询累计大修费用在五千元以上的设备编号及累计大修费用 SELECT 编号,SUM 费用 AS 累计大修费用 FROM dx GROUP BY 编号; HAVING 累计大修费用 5000 2.多表查询示例 ⑴ 查询所有设备的编号、名称、价格及所在部门的名称 ① SELECT sb.编号,sb.名称 AS 设备名称,sb.价格,bmdm.名称 AS 部门名称; FROM sb,bmdm WH
显示全部
相似文档