第 4章:查询与视图
1 查询的概念
2
3
4
5
创建查询查询文件视图的概念创建视图第 4.1节
1
查询方法查询和视图
查询和视图,检索和操作数据库的两个基本手段。
两者都可从一个或多个相关联的数据表中提取有用信息 。
查询和视图的异同
查询可以根据表或视图定义,它不依赖于数据库而 独立 存在,可以显示但不能更新由查询检索到的数据 ( 查询结果是只读 的 ) 。
视图兼有表和查询的特点,它 可 以 更改数据源中的数据,但 不 能 独立 存在,必须依赖于某一个数据库。
查询的概念
通过查询可以对几个相关联的表或视图中的数据,按指定的条件和内容进行检索,得到需要的信息并能对原始数据进行某些统计计算。
利用查询设计器可以在交互环境下建立查询文件 (,QPR),运行该文件即可获取检索信息。
查询的方法
1) 选择查询的数据源 ( 包括自由表,数据库表和视图 ) ;
2) 选择要检索的字段;
3) 设置查询条件来查找满足用户要求的记录;
4) 设置排序或分组来组织查询结果;
5)选择查询去向;
6)运行查询,获得查询结果。
创建查询
1,启动查询设计器
1) 项目管理器:选,查询,数据项,新建,
打开查询设计器 。
2) 菜单:选择,文件 |新建,命令 。
3)命令,CREATE QUERY <查询文件名 >
2,查询设计器的使用
设计器窗口分上下两部分:上部是数据源,下部有字段、联接、筛选、排序依据、分组依据和杂项 6个选项卡。
查询设计器 (1)
1)选择数据源:启动查询设计器后,出现
“添加表或视图”对话框。单击“添加”按钮,
可将表或视图加入设计器中。
2)选择查询字段:在“字段”选项卡中可以指定查询要输出的字段、函数或表达式。
3)建立数据表间的联接:当查询是基于多个表时,表之间必须有联系,根据联接条件来提取表中相关的数据信息。
数据表间的联接
内部联接:检索两个表中同时满足条件的记录
左联接:检索左表中所有记录以及右表中满足条件的记录 ( 右表中不满足条件的记录所对应的字段值为 NULL)
右联接:检索右表中所有记录以及左表中满足条件的记录
完全联接:检索两个表中的所有记录查询设计器 (2)
4)指定查询条件:在“筛选”选项卡中建立筛选表达式,选择满足查询条件的记录。
5)组织查询结果:按某个字段顺序或分组排列查询结果。
6)杂项选择:在,杂项,选项卡中选择要输出的记录范围,默认将查询得到的结果全部输出。
条件运算符 between
条件运算符除了常见的大于 /小于 /等于之外,还有 between,in。
例:分数在 550到 650之间 (包括边界 ):
分数 >=550 and 分数 <=650
分数 between (550,650)
条件运算符 in
例,yf (月份 ) 在 5,6或 7月之间
yf=5 or yf=6 or yf=7
yf in (5,6,7)
在筛选条件中,字符型的引号可省,
between和 in的括号可省 (实际上,括号无法加进条件的实例中 )。
组织查询结果
① 设置数据排序:在,排序依据,选项卡中指定排序的依据 。
②设置分组排序:在“分组依据”选项卡中指定分组的依据。
分组排序与求和 ( SUM),计数 ( COUNT),
求平均值 ( AVG) 等统计计算一起使用,可以完成一组记录的计算 。
函数与命令
average 身高 for 性别 =’女’ &&average命令
calculate avg(身高 ) for 性别 =’女’ &&avg()
函数
average,sum,count是命令; avg(),sum(),cnt(),
max(),min()是统计类函数
统计类函数必须和 calculate一起用,这些函数括号内的参数都是字段变量选择查询去向
打开查询设计器,选择“查询 |查询去向”命令,
在“查询去向”对话框中选择输出去向。
1)浏览:查询结果输出到浏览窗口(默认)。
2)临时表:查询结果存入一个临时的只读数据表中。关闭此数据表时,查询结果将丢失。
3)表:查询结果存入表文件,可以作为一个由表使用。
4)屏幕:查询结果输出主窗口。
保存 /运行查询文件
保存查询文件,文件?另存为。
运行查询
1) 项目管理器:选定要运行的查询,然后单击,运行,按钮 。
2) 菜单:选择,查询 |运行查询,命令,或单击工具栏中的运行按钮,!,。
3) 命令,DO <查询文件名,QPR>
修改查询
重新打开查询设计器修改各项设置
1) 项目管理器:选中要修改的查询文件,
单击,修改,按钮 。
2) 命令,MODIFY QUERY <查询文件名 >
查询文件
利用查询设计器得到的查询文件是一个文本文件,用户可以查看其内容。
打开查询设计器,选择,查询 |查看 SQL”
命令,打开一个 只读 窗口。
其中显示了一条 SQL语句,它包含了用户创建这个查询的所有信息。
第 4.2节
2
视图方法视图
通过视图不仅可以从多个表中提取数据,还可以在改变视图数据后,把更新结果送回到数据源表中 。
视图不能以自由表文件的形式单独存在,它必须依赖于某个数据库,并且只有在打开相关的数据库之后,才能创建和使用视图,视图是数据库中的一个特有功能 。
视图分类
依据数据来源可以将视图分为两类:
( 1) 本地视图:使用本地表或视图
( 2) 远程视图:使用 ODBC远程数据源
如果要保存检索结果,应当使用查询;
如果要提取可更新的数据,应当使用视图。
创建视图
1) 项目管理器:选择数据库中的,本地视图,
项,然后单击,新建,按钮,出现,新建本地视图,对话框,选择,新建视图,命令,打开视图设计器窗口 。
2) 命令,open data 数据库文件名
create view
执行 create view命令之前,必须先打开相关的数据库 。
视图设计器的使用
与查询设计器相比,视图设计器中 只多了一个,更新条件,选项卡,其它都相同 。
通过在,更新条件,选项卡中设置更新属性,可以把对视图数据的修改回送到数据源表中。
使用视图
视图建立之后,就可以象数据表一样使用。
视图在使用时,作为临时表 在自己的工作区中打开
如果是本地视图,则系统将同时在另一个工作区中打开源表。
视图的操作:
1) 使用 USE <视图名 > 命令打开视图 。
2) 使用 USE 命令关闭视图 。
3) 在,浏览,窗口中显示或修改视图数据 。
4) 使用 SQL语句操作视图 。
5)作为数据源 (在文本框、表格控件、表单或报表中 )。