查询和视图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.1查询
北京科技大学天津学院 计算机教研组
检索与查询是最终目的
• 数据的检索与查询是数据库管理的最 终目的
• 创建与数据维护都只能是“服务” • 我们已经学习和掌握了许多的数据检
索与查询方法
Visual FoxPro 6.0程序设计
2
2/17/2021
计算机教研组
检索与查询的方法小结
• 对于一般的数据表,可以使用命令 – LOCATE
计算机教研组
“分组”的意义
• 分组就是将具有相同属性的一组数据记 录压缩成一个记录。
• 单击添加按钮 → 所需字段自动出现在 选定字段框中。
Visual FoxPro 6.0程序设计
12
2/17/2021
计算机教研组
“联接”的意义
联接是指查询所使用的数据源之间的关联 关系
永久关系是默认的关联关系
数据表根据关联关系,被逻辑地“联接” 成为一张新的“表”
根据联接条件,VFP支持四种不同的联接 方式(类型)
返回左侧表中所有记录以及右侧表 中相匹配的记录
返回两个表中所有记录
Visual FoxPro 6.0程序设计
14
2/17/2021
计算机教研组
设置查询的筛选条件
• 筛选条件决定将哪些记录显示出来。
• 在筛选框中构造筛选条件表达式时, 要注意在实例框中输入不同数据类型 时的格式:
• 1) 字符串可以不带引号(当与源表中 的字段名相同时才用引号);
7
2/17/2021
计算机教研组
建立查询的一般过程
2/17/2021
• 启动“查询设计器”;并在其中创建查 询
– 添加数据表(又称为数据源),并在多个数 据表之间建立关联(永久关系是默认的关联
)
– 选择查询结果中的字段
– 设置条件,筛选在查询中出现的记录
– 设置排V序isua或l Fox分Pro组6.0,程序组设计织查询的结果
== 左侧字段值与右侧字段的值必须逐个字符完全匹配
>
左侧字段值大于右侧字段的值
>= 左侧字段值大于或等于与右侧字段的值
<
左侧字段值小于右侧字段的值
<= 左侧字段值小于或等于与右侧字段的值
IS NULL 左侧字段值是NULL(空值)
Between 左侧字段值包含在右侧用逗号分隔的两个值之间
In 左侧字段值必须与右侧用逗号分隔的几个值中的一个相匹配
设置其他内容
决定查询结果输出中记录或行的排列顺序
设置条件查找一个特定的数据子集
Visual FoxPro 6.0程序设计
11
2/17/2021
计算机教研组
定义查询的输出内容
• 单击字段选项卡 → 从可用字段列表框 中单击所需字段
– (当输出的列不是直接来源于表中的字段 时,单击函数和表达式框边的… 按钮,打 开表达式生成器,构造出所需的表达式)
Visual FoxPro 6.0程序设计
6
2/17/2021
计算机教研组
查询的相关概念
• 查询结果
– 通过运行查询文件得到的一个基于表和视 图的动态的数据集合。查询结果可以用不 同的形式来保存。查询中的数据是只读的 。
• 查询的数据源
– 可以是一张或多张相关的自由表、数据库 表、视图。
Visual FoxPro 6.0程序设计
Visual FoxPro 6.0程序设计
13
2/17/2021
计算机教研组
“联接”类型的意义
联接类型
意义
Inner Join 内部联接 Right Join 右联接
Left Join 左联接 Full Join 完全联接
返回满足联接条件的记录(默认方式)
返回右侧表中所有记录以及左侧表 中相匹配的记录
Visual FoxPro 6.0程序设计
5
计算机教研组
查询的相关概念
• 查询:
– 就是向一个数据库发出检索信息的请求, 从中提取符合特定条件的记录。
• 查询文件:
– 即保存实现查询的SELECT-SQL命令的文 件。查询文件保存时,系统自动给出扩展 名 .qpr;查询被运行后,系统还会生成一 个编译后的查询文件,扩展名为 .qpx。
Visual FoxPro 6.0程序设计
16
2/17/2021
计算机教研组
设置查询结果的排序依据
• 排序决定查询输出结果中记录显示的 顺序。
• 设置方法: • 单击排序依据 → 从选定字段框选中字
段 → 选择升序或降序 → 单击添加。
Visual FoxPro 6.0程序设计
17
2/17/2021
• 对于建立索引后的数据表,可使用命令 – SEEK FIND
• 对子表索引并建立关联后,可实现多表 之间的数据随动及涉及多表的数据检索
Visual FoxPro 6.0程序设计
3
2/17/2021
计算机教研组
问题的讨论
• 对于一般的数据检索方式: –基本上是基于一张数据表进行 –基本上是查找一条满足条件的数据记录
8
计算机教研组
查询的建立与修改
• 系统提供可视化建立和修改查询的工具 – 查询向导(自学) – 查询设计器
• 激活“查询设计器”的方法 – VFP提供的系统菜单(新建/查询) – “项目管理器” – 使用专门的命令:CREAT QUERY
Visual FoxPro 6.0程序设计
9
2/17/2021Leabharlann Baidu
• 需要更复杂的数据查询: –涉及多表 –涉及多数据记录 –即从多张表中筛选出一个满足条件的数据组
Visual FoxPro 6.0程序设计
4
2/17/2021
计算机教研组
查询的意义
2/17/2021
• 查询是一种由VFP提供的实现多表多 数据记录检索的技术手段和工具
• 查询可以根据用户向一个数据库发出 的数据检索的请求,将满足检索条件 的一组数据记录按指定的方式提取到 指定的用户窗口界面
计算机教研组
查询设计器图示
查询设计工具
数据源显示区
查询设置区
Visual FoxPro 6.0程序设计
10
2/17/2021
计算机教研组
查询设计器图示
选定包含在查询结 果中的字段
所谓分组就是将一组类似 的记录压缩成一个结果记
确定各数据表或视 录;这样就可以完成基于 图之间的关联关系 一个组的统计计算
• 2) 日期型数值要用{ }括起来; • 3) 逻辑型数据两侧要带 .号,如 .T.,.F.
Visual FoxPro 6.0程序设计
15
2/17/2021
计算机教研组
条件运算符的意义
运算符
意义(联接和筛选的运算形式更丰富)
=
左侧字段值与右侧字段的值相等
Like 左侧字段的值包含于右侧的值相匹配的字段
北京科技大学天津学院 计算机教研组
检索与查询是最终目的
• 数据的检索与查询是数据库管理的最 终目的
• 创建与数据维护都只能是“服务” • 我们已经学习和掌握了许多的数据检
索与查询方法
Visual FoxPro 6.0程序设计
2
2/17/2021
计算机教研组
检索与查询的方法小结
• 对于一般的数据表,可以使用命令 – LOCATE
计算机教研组
“分组”的意义
• 分组就是将具有相同属性的一组数据记 录压缩成一个记录。
• 单击添加按钮 → 所需字段自动出现在 选定字段框中。
Visual FoxPro 6.0程序设计
12
2/17/2021
计算机教研组
“联接”的意义
联接是指查询所使用的数据源之间的关联 关系
永久关系是默认的关联关系
数据表根据关联关系,被逻辑地“联接” 成为一张新的“表”
根据联接条件,VFP支持四种不同的联接 方式(类型)
返回左侧表中所有记录以及右侧表 中相匹配的记录
返回两个表中所有记录
Visual FoxPro 6.0程序设计
14
2/17/2021
计算机教研组
设置查询的筛选条件
• 筛选条件决定将哪些记录显示出来。
• 在筛选框中构造筛选条件表达式时, 要注意在实例框中输入不同数据类型 时的格式:
• 1) 字符串可以不带引号(当与源表中 的字段名相同时才用引号);
7
2/17/2021
计算机教研组
建立查询的一般过程
2/17/2021
• 启动“查询设计器”;并在其中创建查 询
– 添加数据表(又称为数据源),并在多个数 据表之间建立关联(永久关系是默认的关联
)
– 选择查询结果中的字段
– 设置条件,筛选在查询中出现的记录
– 设置排V序isua或l Fox分Pro组6.0,程序组设计织查询的结果
== 左侧字段值与右侧字段的值必须逐个字符完全匹配
>
左侧字段值大于右侧字段的值
>= 左侧字段值大于或等于与右侧字段的值
<
左侧字段值小于右侧字段的值
<= 左侧字段值小于或等于与右侧字段的值
IS NULL 左侧字段值是NULL(空值)
Between 左侧字段值包含在右侧用逗号分隔的两个值之间
In 左侧字段值必须与右侧用逗号分隔的几个值中的一个相匹配
设置其他内容
决定查询结果输出中记录或行的排列顺序
设置条件查找一个特定的数据子集
Visual FoxPro 6.0程序设计
11
2/17/2021
计算机教研组
定义查询的输出内容
• 单击字段选项卡 → 从可用字段列表框 中单击所需字段
– (当输出的列不是直接来源于表中的字段 时,单击函数和表达式框边的… 按钮,打 开表达式生成器,构造出所需的表达式)
Visual FoxPro 6.0程序设计
6
2/17/2021
计算机教研组
查询的相关概念
• 查询结果
– 通过运行查询文件得到的一个基于表和视 图的动态的数据集合。查询结果可以用不 同的形式来保存。查询中的数据是只读的 。
• 查询的数据源
– 可以是一张或多张相关的自由表、数据库 表、视图。
Visual FoxPro 6.0程序设计
Visual FoxPro 6.0程序设计
13
2/17/2021
计算机教研组
“联接”类型的意义
联接类型
意义
Inner Join 内部联接 Right Join 右联接
Left Join 左联接 Full Join 完全联接
返回满足联接条件的记录(默认方式)
返回右侧表中所有记录以及左侧表 中相匹配的记录
Visual FoxPro 6.0程序设计
5
计算机教研组
查询的相关概念
• 查询:
– 就是向一个数据库发出检索信息的请求, 从中提取符合特定条件的记录。
• 查询文件:
– 即保存实现查询的SELECT-SQL命令的文 件。查询文件保存时,系统自动给出扩展 名 .qpr;查询被运行后,系统还会生成一 个编译后的查询文件,扩展名为 .qpx。
Visual FoxPro 6.0程序设计
16
2/17/2021
计算机教研组
设置查询结果的排序依据
• 排序决定查询输出结果中记录显示的 顺序。
• 设置方法: • 单击排序依据 → 从选定字段框选中字
段 → 选择升序或降序 → 单击添加。
Visual FoxPro 6.0程序设计
17
2/17/2021
• 对于建立索引后的数据表,可使用命令 – SEEK FIND
• 对子表索引并建立关联后,可实现多表 之间的数据随动及涉及多表的数据检索
Visual FoxPro 6.0程序设计
3
2/17/2021
计算机教研组
问题的讨论
• 对于一般的数据检索方式: –基本上是基于一张数据表进行 –基本上是查找一条满足条件的数据记录
8
计算机教研组
查询的建立与修改
• 系统提供可视化建立和修改查询的工具 – 查询向导(自学) – 查询设计器
• 激活“查询设计器”的方法 – VFP提供的系统菜单(新建/查询) – “项目管理器” – 使用专门的命令:CREAT QUERY
Visual FoxPro 6.0程序设计
9
2/17/2021Leabharlann Baidu
• 需要更复杂的数据查询: –涉及多表 –涉及多数据记录 –即从多张表中筛选出一个满足条件的数据组
Visual FoxPro 6.0程序设计
4
2/17/2021
计算机教研组
查询的意义
2/17/2021
• 查询是一种由VFP提供的实现多表多 数据记录检索的技术手段和工具
• 查询可以根据用户向一个数据库发出 的数据检索的请求,将满足检索条件 的一组数据记录按指定的方式提取到 指定的用户窗口界面
计算机教研组
查询设计器图示
查询设计工具
数据源显示区
查询设置区
Visual FoxPro 6.0程序设计
10
2/17/2021
计算机教研组
查询设计器图示
选定包含在查询结 果中的字段
所谓分组就是将一组类似 的记录压缩成一个结果记
确定各数据表或视 录;这样就可以完成基于 图之间的关联关系 一个组的统计计算
• 2) 日期型数值要用{ }括起来; • 3) 逻辑型数据两侧要带 .号,如 .T.,.F.
Visual FoxPro 6.0程序设计
15
2/17/2021
计算机教研组
条件运算符的意义
运算符
意义(联接和筛选的运算形式更丰富)
=
左侧字段值与右侧字段的值相等
Like 左侧字段的值包含于右侧的值相匹配的字段