VFP上机练习题_索引与排序.doc_第1页
VFP上机练习题_索引与排序.doc_第2页
VFP上机练习题_索引与排序.doc_第3页
VFP上机练习题_索引与排序.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

排序与索引将sb.dbf复制到D盘根目录下的xxx文件夹(xxx可用任意字母代替),执行命令:SET DEFAULT TO D:XXX。一、表的排序命令SORT示例1:将所有设备按部门降序排列,部门相同时按价格升序排列USE SBSORT TO bmjg ON 部门/D,价格/AUSE bmjgLIST示例2:将所有设备按部门升序排列,部门相同按启用日期降序排列,要求只包含编号、名称、启用日期及部门4个字段。USE sbSORT TO bmrq ON 部门/A,启用日期/D FIELDS 编号,名称,启用日期,部门USE bmrqLIST2表的索引命令 建立索引的命令示例1:为设备表以价格字段作为索引关键字建立普通索引,要求降序排列USE sbINDEX ON 价格 TAG jg DESCENDINGLIST示例2:为设备表以编号作为索引关键字建立候选索引,要求升序排列USE sbINDEX ON 编号 TAG bh ASCENDING CANDIDATELIST示例3:为设备表以启用日期作为索引关键字建立普通索引,要求降序排列USE sbINDEX ON 启用日期 TAG qyrq DESCENDINGLIST示例4:为设备表建立索引,要求按部门升序排列,部门相同时按启用日期升序排列USE SBINDEX ON 部门+DTOS(启用日期) TAG bmrq ASCENDINGLIST示例5:为设备表建立索引,要求按部门降序排列,部门相同时按价格降序排列USE sbINDEX ON 部门+str(价格,9,2) TAG bmjg1 DESCENDINGLIST示例6:为设备表建立索引,要求按部门升序排列,部门相同时按价格降序排列USE sbINDEX ON val(部门)-价格/1000000 TAG bmjg2 ASCENDINGLIST示例7:为设备表建立索引,要求按部门降序排列,部门相同时按价格升序排列USE sbINDEX ON val(部门)-价格/1000000 TAG bmjg3 DESCENDINGLIST注意:比较示例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 价格=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 累计大修费用=50002多表查询示例 查询所有设备的编号、名称、价格及所在部门的名称 SELECT sb.编号,sb.名称 AS 设备名称,sb.价格,bmdm.名称 AS 部门名称;FROM sb,bmdm WHERE sb.部门=bmdm.代码 SELECT sb.编号,sb.名称 AS 设备名称,sb.价格,bmdm.名称 AS 部门名称;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 查询部门资产额在十万元以上的部门名称及资产额,并按资产额降序排列 SELECT bmdm.名称,SUM(sb.价格) AS 部门资产额 FROM sb,bmdm;WHERE sb.部门=bmdm.代码 GROUP BY 部门;HAVING 部门资产额=100000 ORDER BY 2 DESCENDING SELECT bmdm.名称,SUM(sb.价格) AS 部门资产额;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 GROUP BY 部门;HAVING 部门资产额=100000 ORDER BY 2 DESCENDING 查询增值设备的名称及累计增值金额,并按累计增值金额降序排列 SELECT sb.名称,SUM(zz.增值) AS 累计增值金额 FROM sb,zz;WHERE sb.编号=zz.编号 GROUP BY zz.编号 ORDER BY 2 DESCENDING SELECT sb.名称,SUM(zz.增值) AS 累计增值金额FROM sb;JOIN zz ON sb.编号=zz.编号 GROUP BY zz.编号 ORDER BY 2 DESCENDING 查询累计大修费用在五千元以上的设备名称及累计大修费用 SELECT sb.名称,SUM(dx.费用) AS 累计大修费用 FROM sb,dx;WHERE sb.编号=dx.编号 GROUP BY dx.编号 HAVING 累计大修费用5000 SELECT sb.名称,SUM(dx.费用) AS 累计大修费用 FROM sb JOIN dx;ON sb.编号=dx.编号 GROUP BY dx.编号 HAVING 累计大修费用5000 查询增值设备的名称、所在部门名称及累计增值金额 SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(zz.增值) AS 累计增值金额 FROM sb,bmdm,zz;WHERE sb.部门=bmdm.代码 AND sb.编号=zz.编号;GROUP BY zz.编号 SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(zz.增值) AS 累计增值金额;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 JOIN zz ON sb.编号=zz.编号;GROUP BY zz.编号 查询大修过的设备名称、所在部门名称及累计大修费用 SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(dx.费用) AS 累计大修费用 FROM sb,bmdm,dx;WHERE sb.部门=bmdm.代码 AND sb.编号=dx.编号;GROUP BY dx.编号 SELECT sb.名称 AS 设备名称,bmdm.名称 AS 部门名称,;SUM(dx.费用) AS 累计大修费用;FROM sb JOIN bmdm ON sb.部门=bmdm.代码 JOIN dx ON sb.编号=dx.编号;GROUP BY dx.编号三、用查询设计器建立查询1建立查询的命令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论