vfp查询和视图.pptVIP

  • 2
  • 0
  • 约1.95千字
  • 约 21页
  • 2017-07-09 发布于河南
  • 举报
vfp查询和视图

Visual FoxPro ;第 五 章;一、查询的创建和使用  ;使用查询设计器创建查询 创建查询的方法: 使用create query打开“查询设计器”窗口创建查询 用“文件”—“新建”/“新建”按钮打开“查询设计器” 在“项目管理器”—“数据”卡片,用“新建”按钮打开“查询设计器” 用select-SQL命令直接编写(需要达到的要求) 前三个是界面窗口操作模式,后一个是真正的命令格式;用一个例子来说明查询设计器要怎样使用 例1:找出CJ表中成绩大于80分的记录 学习的要求: 会使用设计器来创建查询 要脱离设计器直接用SELECT命令构造 基本步骤: 根据给出的要求判断需要使用到哪几张表,审视这些表,判断出联接条件 打开设计器,添加表,设定联接条件 设定查询的输出内容 设定查询的筛选条件 设定查询的排序依据 设定分组依据:例2查询每个学生的总分、均分 设定查询结果的输出类型 运行查询;分组依据: 分组:对表中记录取重复值的记录进行压缩,形成一个结果记录,以完成基于一组记录的计算或统计 选中“分组依据”卡片,设定分组字段 注意:由分组定义可以知道,只有当选定输出内容时用到了计算的情况下才需要进行分组;若要对分组的查询结果进行筛选,则需要使用“满足条件”按钮。;多表查询的一些基本概念 联接: 联接定义:指查询或视图的一个数据库操作;两张表联接的结果是一张新表。通过比较指定字段的值联接2张或多张表(视图)中的记录,字段相同的记录形成一张新表 联接条件:在联接产生新记录时,必须限定在符合什么条件时,才构成一个新记录,所谓联接条件便是这样的限定条件 联接的原因:减少数据的冗余 联接的类型:内联接,左联接,右联接,完全联接 表5-1;多表查询的创建:步骤 若有2张以上的表,在添加时一定要注意先后次序,“纽带表”要放在两张“父表”之间 若已进行了永久性关系的设置,则无须进行联接 修改联接条件可在“查询设计器”—“联接”卡片中进行 联接条件和筛选条件类似,都是选出符合条件的记录;不同的是筛选是将字段值和筛选值进行比较,而联接条件是将一张表中的字段值与另外一张表中的字段值进行比较 多表查询的一些例题 最后一条例题,这样的筛选是我们要掌握的最难的程度,需要设置分组条件,还要在分组的基础上再进行筛选,请特别注意;一部分查询的练习 查询学生的学号,姓名,系名,总分和平均分,按照系名升序排序,同一个系的学生按照总分降序排序。 查询每个系每门课程的总分和平均分,要求输出课程名,课程代号,系名,每个系的平均成绩和总成绩,按课程代号升序排序 查询各个系每位教师的课时数,要求输出系名,工号,姓名,课时数,并按系名升序排序,同一个系的教师按照工号升序排序 查询计算机科学系各位教师的课时数,要求输出工号,姓名,系名,课时数,并按工号降序排序,并且将查询信息保存为表,表名为:jsjkxkss.dbf;二、视图的创建和使用  ;三、SELECT-SQL语句  ; 查询的本质:SELECT-SQL命令 SELECT-SQL: 利用查询/视图设计器构造查询的本质就是最后生成一条SELECT-SQL命令 SELECT-SQL命令的格式: SELECT [ALL|DISTINCT] 字段 FROM 表1 INNER|LEFT|RIGHT|FULL JION 表2… INTO …|TO… WHERE 字段筛选表达式 GROUP BY 分组条件 HAVING 对分组计算的结果进行筛选 UNION 连接另外一个查询的结果 ORDER BY 排序依据;SELECT-SQL应用??例: SELECT-SQL语句可以在命令窗口中输入,但若要将做好的SELECT语句保存下来,就要打开一个程序编辑窗口在其中进行编辑(如同编辑一个程序) 单张表查询(最简单的一种):例1~3 基于多张表的查询(最常见):例4~5 含有计算字段的查询和查询的嵌套:例6~8 组合查询(多个查询的连接)视图:例9~11 ;一部分查询的练习 查询各个系男生的总分和平均分,要求输出系名,性别,总分和平均分 查询选修“中文WINDOWS95”课程并且成绩合格(=60)的学生名单,输出姓名,成绩,课程名,按成绩降序排列 查询各个学生选修课程的门数及平均分,要求输出学号,姓名,课程数和平均分 查询每门课程的选修人数及平均分,按KCDH升序排列,输出去向为表,表名为qdata.dbf 请用SELECT-SQL写; ;联接类型;多表查询的例题;基于单张表的查询例子;基于多张表的查询例子;含有计算字段的查询和查询的嵌套;组合查询和视图

文档评论(0)

1亿VIP精品文档

相关文档