Visual FoxPro 6.0 第六章 查询与视图
第六章 查询与视图 Visual FoxPro 6.0
第六章查询与视图 §6. L SELECT-SQL查询 量询向数据库发出检索信息的请求它使用一些条件提取 定的记录。其运行结果是一个基于表和视图的动态的数 数据源是一张或多张相关表或视图 个查询文件名称为*QPR 查询可以用 SELECT-SQL语句和查询设计器来完成。 查询和视图设计器在本质上都是 SELECT-SQL命令的可视 化设计方法 VFP还允许将查询结果以图形的形式输出
第六章 查询与视图 §6.1 SELECT-SQL查询 查询:向数据库发出检索信息的请求,它使用一些条件提取 特定的记录。其运行结果是一个基于表和视图的动态的数 据集合。 数据源是一张或多张相关表或视图。 查询文件名称为*.QPR。 查询可以用SELECT-SQL语句和查询设计器来完成。 查询和视图设计器在本质上都是SELECT-SQL命令的可视 化设计方法。 VFP还允许将查询结果以图形的形式输出
611用 SELECT-SQL命令直接查询 、 SELECT-SQL命令的格式P91 常用的格式: SCT表名1字段名[AS标题名1表名1.字段名2[AS 标题名2], FROM数据库名!表名1[,数据库名!表名2][数据库名!表 名3] [ TO FILE文本文件名| into table into cursor表文件名] [ WHERE选定条件 [ GROUP BY分组字段名] [AVNG分组中的满足条件] ORDER BY排序字段名1[ASC|DESC]L排序字段名2[ASC DESC]…]
6.1.1 用SELECT-SQL命令直接查询 一、SELECT-SQL命令的格式 P91 常用的格式: SELECT 表名1. 字段名1 [AS 标题名1], 表名1. 字段名2 [AS 标题名2], … FROM 数据库名! 表名1 [,数据库名! 表名2 ] [, 数据库名! 表 名3 ] [TO FILE 文本文件名 | into table | into cursor 表文件名 ] [ WHERE 选定条件] [GROUP BY 分组字段名 ] [HAVING 分组中的满足条件 ] [ORDER BY 排序字段名1 [ASC | DESC] [, 排序字段名2 [ASC | DESC] ...]]
添加表或视图:FROM[ Database Name!] able [Local Alias L IDatabaseName! ]Table [Local Alias 如! SELECT☆ FROM RSGZ 设置输出字段:[Ais] Select item[ AS Column Name]L[Aias] Select item[AS Column Name] 输出字段支持: AVG( Select item),计算列中数值的平均值 COUNT( Select item),计算列中选定项的数目。计算查询输出的行数 MIN( Select item),确定列中 Select Item的最小值。 MAX( Select item),确定列中 Select item的最大值 SUM( Select item),计算列中数值的和 如: SELECT编号,姓名,基本工资 FROM RSGZ
添加表或视图:FROM [DatabaseName!]Table [Local_Alias] [, [DatabaseName!]Table [Local_Alias] ...] 如:SELECT * FROM RSGZ 设置输出字段: [Alias.] Select_Item [AS Column_Name] [, [Alias.] Select_Item [AS Column_Name] ...] 输出字段支持: AVG(Select_Item),计算列中数值的平均值。 COUNT(Select_Item),计算列中选定项的数目。计算查询输出的行数。 MIN(Select_Item),确定列中 Select_Item 的最小值。 MAX(Select_Item),确定列中 Select_Item 的最大值。 SUM(Select_Item),计算列中数值的和 如: SELECT 编号,姓名,基本工资 FROM RSGZ
设置筛选条件 TWHERE FilterCondition,[AND| OR Filter Condition 如: SELECT☆ FROM RSGZ WHERE基本工资>500 TERDER BY Order item asC dESCh Order Item ASC dESc]. 如: SELECT* FROM RSGZ ORDER BY部门名,基本工资DESC 分组{( GROUP BY Group Colum[, Group Column. 如: SELECT部门名,AⅤG(基本工资)AS平均工资 FROM RSGZ GROUP BY部门名 其他 DISTINCT[TOP 如: SELECT DISTINCT部门名 FROM RSGZ select from sb where价格>100 order by启用日期top2
设置筛选条件:[WHERE FilterCondition, [AND | OR FilterCondition ...]] 如: SELECT * FROM RSGZ WHERE 基本工资>500 排序:[ORDER BY Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ...]] 如: SELECT * FROM RSGZ ORDER BY 部门名, 基本工资 DESC 分组:[GROUP BY GroupColumn [, GroupColumn ...]] 如: SELECT 部门名,AVG(基本工资) AS 平均工资 FROM RSGZ GROUP BY 部门名 其他:[DISTINCT][TOP ] 如: SELECT DISTINCT 部门名 FROM RSGZ select * from sb where 价格>100 order by 启用日期 top 2
多表查询:FROM[ DatabaseName!] Table [Local Alias] Join Condition Database Name! Table [Local Alias] ON FilterCondition ] Database Name! ]Table [Local_Alias] [Join Condition [Database Name!]Table Local Alias]on Filter Condition I Jein condit包括 P101 INNER JOIN:内部连接 LEFT OUTER JOIN:左连接 RIGHT OUTER JOIN:右连接 FULL JOIN:完全连接 如: SELECT RSgl编号,Rsgl部门名,Rsgl姓名,Rsda.职称,Rsgz基本工资 FROM人事管理数据库 rsgI INNER JOIN人事管理数据库! Isda InnEr JON人事管理数据库! I rSg on rsda.编号=Rsg编号 ON RSgI编号= Rsda.编号
⚫ 多表查询:FROM [DatabaseName!]Table [Local_Alias] [JoinCondition [DatabaseName!]Table [Local_Alias] ON FilterCondition ] [, [DatabaseName!]Table [Local_Alias] [JoinCondition [DatabaseName!]Table [Local_Alias] ON FilterCondition ] ...] • JoinCondition包括: P101 – INNER JOIN:内部连接 – LEFT OUTER JOIN:左连接 – RIGHT OUTER JOIN:右连接 – FULL JOIN :完全连接 如:SELECT Rsgl.编号, Rsgl.部门名, Rsgl.姓名, Rsda.职称, Rsgz.基本工资 FROM 人事管理数据库!rsgl INNER JOIN 人事管理数据库!rsda INNER JOIN 人事管理数据库!rsgz ON Rsda.编号 = Rsgz.编号 ON Rsgl.编号 = Rsda.编号
、 SELECT- SQL命令查询示例 1.单表查询示例 EXAM3-16】 EAM3-17】 EAM3-18】 【EXAM3-19】 2.多表查询示例 EXAM3-20】 EXAM3-21】 (EXAM3-22】
二、SELECT-SQL命令查询示例 1. 单表查询示例 【EXAM3-16】 【EXAM3-17】 【EXAM3-18】 【EXAM3-19】 2. 多表查询示例 【EXAM3-20】 【EXAM3-21】 【EXAM3-22】
612用查询设计器建立查询 、查询设计器的操作步骤 EXAM3-23 查询设计器的界面组成 1.上部窗格:显示已打开的表 2.下部窗格 (1)字段选项卡 (2)联接选项卡 ①类型列②字段名列③条件列④否列⑤值列⑥逻辑列 ⑦“插入”按钮⑧“移去”按钮 (3)筛选选项卡 (4)排序依据选项卡 (5)分组依据选项卡 (6)杂项选项卡 EXAM3-24
6.1.2 用查询设计器建立查询 一、查询设计器的操作步骤 EXAM3-23 二、查询设计器的界面组成 1. 上部窗格:显示已打开的表。 2. 下部窗格 (1)字段选项卡 (2)联接选项卡 ①类型列②字段名列③条件列④否列 ⑤值列 ⑥逻辑列 ⑦“插入”按钮 ⑧“移去”按钮 (3)筛选选项卡 (4)排序依据选项卡 (5)分组依据选项卡 (6)杂项选项卡 EXAM3-24
3.查询菜单的几个命令 (1)运行查询 (2)1查看SQL:显示查询操作产生的 SELECT-SQ命令(只读) (3查询去向 浏览按钮 ②临时表按钮 ③表按钮 ④图形按钮 ⑤屏幕按钮 ⑥报表按钮 ⑦标签按钮
3. 查询菜单的几个命令 (1)运行查询 (2)查看SQL:显示查询操作产生的SELECT-SQL命令(只读) (3)查询去向 ①浏览按钮 ②临时表按钮 ③表按钮 ④图形按钮 ⑤屏幕按钮 ⑥报表按钮 ⑦标签按钮
613查询结果的图形处理 激活“査询去向”对话框中的“图形”按钮,在命令窗口执彳 GENGRAPHEVFPWWIZARDSIWZGRAPH.APP>> 说明P10 (1)图形向导对话框中含有柱形图、折形图、圆饼图等多种统计 图供用户挑选 (2)为输出图形通常需选取两个以上表达式,并且至少要有一个 数值表达式。 (3)输出的图形将存入扩展名为SCX的表单文件,文件主名可由 用户定义。表单文件用 DO FORM命令来执行,执行后即显示图形。 (4)用户也可直接调用 WZGRAPHAPP应用程序来打开图形向导 对话框 (5)用户也可直接使用图形向导,但须先运行査询文件
6.1.3 查询结果的图形处理 激活“查询去向”对话框中的“图形”按钮,在命令窗口执行 _GENGRAPH=“\VFP\WIZARDS\WZGRAPH.APP” 说明: P105 (1)图形向导对话框中含有柱形图、折形图、圆饼图等多种统计 图供用户挑选。 (2)为输出图形通常需选取两个以上表达式,并且至少要有一个 数值表达式。 (3)输出的图形将存入扩展名为.SCX的表单文件,文件主名可由 用户定义。表单文件用DO FORM命令来执行,执行后即显示图形。 (4)用户也可直接调用WZGRAPH.APP应用程序来打开图形向导 对话框。 (5)用户也可直接使用图形向导,但须先运行查询文件