第4章 查询和视图Word格式.docx

上传人:b****3 文档编号:15790766 上传时间:2022-11-16 格式:DOCX 页数:10 大小:52.81KB
下载 相关 举报
第4章 查询和视图Word格式.docx_第1页
第1页 / 共10页
第4章 查询和视图Word格式.docx_第2页
第2页 / 共10页
第4章 查询和视图Word格式.docx_第3页
第3页 / 共10页
第4章 查询和视图Word格式.docx_第4页
第4页 / 共10页
第4章 查询和视图Word格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

第4章 查询和视图Word格式.docx

《第4章 查询和视图Word格式.docx》由会员分享,可在线阅读,更多相关《第4章 查询和视图Word格式.docx(10页珍藏版)》请在冰豆网上搜索。

第4章 查询和视图Word格式.docx

 

4.2.利用查询设计器创建查询

例1:

基于成绩表(cj)查询成绩在80分以上(含80分)的学生学号,课程代号,成绩,且要求查询结果按照课程代号升序排序,课程代号相同时按照成绩降序排序。

查询设计器

方法1:

从文件菜单或工具栏上单击新建→查询→新建文件→进入查询设计器

方法2:

当所用的数据表已在项目中时,从项目管理器窗口中单击数据→查询→新建→新建查询→进入查询设计器

方法3:

从命令窗口中输入命令:

createquery查询文件名&

&

创建新查询

modifyquery查询文件名&

修改已存在的查询

利用查询设计器创建查询的步骤:

1.向查询设计器中添加数据源并设置联接条件

自由表,数据库表,视图,或其中的组合

2.定义查询的输出字段(内容)

a)需要输出的字段存在可用字段列表框中,则可以选择字段添加;

b)如果输出的字段不是直接来源于表中的字段,可以定义与之相关的函数或表达式并添加;

注意:

定义新的字段名的添加方法:

as新的字段名

3.设置查询的筛选条件:

通过设置筛选条件,可以对数据源中的记录进行筛选(即定义记录子集)在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:

字符串可以不带引号(当与源表中的字段名相同时才用引号);

日期型数值要用{}括起来;

逻辑型数据两侧要带.号,如.T..F.

举例:

查询工号开头字母为A的教师。

1)ghlikeA%

2)substr(gh,1,1)==/=/likea

3)between(substr(gh,1,1),a,a)

注意大小写的区别(补充函数UPPER(),LOWER())

4.设置查询结果的排序依据

排序决定查询输出结果中记录显示的顺序。

单击排序依据→从选定字段框选中字段→选择升序或降序→单击添加。

例2:

基于课程表(kc)和成绩表(cj),查询每门课程的选课人数,平均成绩,最高分和最低分,查询输出字段包括课程代号,课程名,选课人数,平均成绩,最高分,最低分,且按照平均成绩降序排序。

5.设置查询结果的分组依据

所谓分组,是指对表中记录取重复值的记录进行压缩,形成一个结果记录,目的是为了完成基于该结果记录的计算或统计,对每一组记录进行求平均值、求和、统计个数、最大值、最小值等。

几个常用的统计函数

功能

求平均值

求总和

求最大值

求最小值

统计个数

名称

AVG()

SUM()

MAX()

MIN()

COUNT()

用于分组的字段不一定是选定输出的字段,但分组字段不能是一个计算字段。

如果在分组的基础上,还需对查询结果进行记录筛选,即取查询结果记录的子集,可以使用分组依据中的“满足条件”来对查询的结果进一步筛选。

6.对查询结果的杂项设置

可以排除查询结果中所有重复的行,并设置结果的记录范围。

All:

全部

前N个记录:

TOPN

前N%个记录:

NPERCENT

7.选择查询结果的输出类型

默认情况下,查询结果将输出在浏览窗口中,且其中的数据是只读的。

输出去向

说明

浏览

在浏览窗口中显示查询结果

临时表

将查询结果存储在一张临时命名的只读表中(curror)

将查询结果存储在一个表文件中(.DBF)

屏幕

在VFP主窗口或当前活动输出窗口中显示查询结果

报表

将输出送到一个报表文件中(.frx)

标签

将输出送到一个标签文件中(.lbx)

8.运行查询

在查询设计器打开的状态下,单击常用工具栏上的!

按钮或从查询菜单中选择运行查询。

其他情况下,可从项目管理器中选中查询文件并单击运行按钮,或从程序菜单中选择执行命令,或从命令窗口中输入:

DO查询文件名。

9.创建多表查询

✓多表查询:

当需要获取存储在两张或更多张表或视图中的信息时,需要将这些表或视图添加到查询中来,多张表可以是数据库表,自由表或视图的任意组合。

✓联接与联接条件:

a)联接:

指查询或视图的一个数据库操作,通过比较指定字段中的值联接两个或多个表或视图中的记录。

b)联接类型:

内联接:

两张表中仅满足条件的记录。

左联接:

表中在联接条件左边的所有记录,和表中联接条件右边的且满足联接条件的记录

右联接:

表中在联接条件右边的所有记录,和表中联接条件左边的且满足联接条件的记录

完全联接:

表中不论是否满足条件的所有记录。

✓创建多表查询:

举例:

在TEST项目中已存在查询chaxun,且在SJK中学生(xs)表包含学号(xh)、姓名(xm)、性别(xb)、班级编号(bjbh)、系代号(xdh)和专业代号(zydh)字段,专业(zy)表含有专业代号(zydh)和专业名称(zymc)字段,按如下要求修改查询:

基于xs表和zy表查询“01”年级每个专业女生所占比例。

要求输出字段为:

zydh,zymc,年级,女生人数和女生所占比例,查询结果按女生所占比例从高到低排序(假定bjbh字段值的前二位表示年级)。

练习:

1、设计查询(8分)(2005sp01)

在TEST项目中已存在查询chaxun,且在SJK中包含一个名为XSCJST的视图,该视图中包含学生的学号(xh),课程代号(kcdh)、课程名(kcm)和成绩(cj)字段,另外在SJK的学生(xs)表含有学生的学号(xh)和所在班级编号(bjbh)字段。

按如下要求修改查询:

基于xs表和XSCJST视图表查询每个班课程代号为”01”的考试情况。

bjbh,kcdh,kcm,最高分,平均分,不及格人数,查询结果按bjbh的升序排序(注:

成绩低于60分为不及格)。

2、设计查询(8分)(2005sp02)

3、设计查询(8分)(2005sp03)

TEST项目中已经存在查询chaxun,且在SJK中包含一个名为JSST的视图。

该视图包括教师工号(gh)姓名(xm)、出生日期(csrq)、职称(zc)和系代号(xdh)字段;

在SJK的系名(XIM)表含有系代号(xdh)和系名称(ximing)字段。

基于JSST视图和XIM表查询每个系职称为“教授”的人数、平均年龄,要求输出字段包括:

xdh、ximing、zc、人数、平均年龄、查询结果按人数从高到低排序。

4、设计查询(8分)(2005sp04)

该视图包括教师工号(gh)、姓名(xm)、出生日期(csrq)、职称(zc)和系代号(xdh)字段,在SJK的工资(GZ)表含有教师工号(gh)、基本工资(jbgz)和综合津贴(zhjt)字段。

基于JSST视图和GZ表查询每个系各类职称基本工资、岗位津贴和综合津贴三项之和的最大值、最小值、平均值、要求输出字段包括:

xdh、zc,最大值、最小值、平均值,查询结果按xdh从高到低排序。

5、设计查询(8分)(2005sp05)

在TEST项目中已存在查询chaxun,且在SJK中学生(xs)表包含学号(xh)、姓名(xm)、性别(xb)、班级编号(bjbh)、系代号(xdh)和专业代号(zydh)字段,专业(zy)表含有专业代号(zydh)和专业名称()zymc)字段,按如下要求修改查询:

4.3.用SELECT-SQL命令创建查询

1SQL概述

SQL(StructuredQueryLanguage):

结构化查询语言,是关系数据库语言标准

VFP支持如下SQL命令:

◆Createtable–sql:

创建表结构

◆Altertable-sql:

修改表结构

◆Insert–sql:

插入(追加)一条新记录

◆Update-sql:

更新表中的记录

◆Delete-sql:

为记录添加逻辑删除标记

◆Select-sql:

指定查询条件并执行查询

2Select-SQL命令格式:

①SELECT表名1.字段名1[AS标题名1],表名1.字段名2[AS标题名2],…

②FROM数据库名!

表名1innerjoin[,数据库名!

表名2]On表之间的联接条件

③WHERE选定条件

④ORDERBY排序字段名1[ASC|DESC][,排序字段名2[ASC|DESC]]

⑤GROUPBY分组字段名

HAVING分组中的满足条件

⑥TOFILE文本文件|intotable|intocursor表文件名[toscreen]

在SELECT-SQL语句中使用INTO/TO来定向查询结果

输出去向类型

INTO子句示例

独立的表

IntoTableab1

数组

IntoArrayab2

IntoCursorab3

文本文件

ToFileab4

活动窗口

TOSCREEN

示例:

(1)基于教师表JS,查询所有教师的工号和姓名。

(2)基于学生表XS,查询学号以“04”开头的学生情况(输出所有字段)。

(3)基于成绩表CJ和学生表XS,查询有不及格课程成绩的学生的学号和姓名,且有多门不及格的学生只显示一次,并将查询结果保存到表ab2中。

(4)基于课程表KC和成绩表CJ,查询各门课程的选课人数,最高分,平均分,要求输出课程代码,课程名称,选课人数,最高分和平均分,结果按照平均分降序排序,并将查询结果保存到文本文件ab3中。

4.4创建视图

1视图的特点

(1)视图是数据库的一个组成部分,分为本地视图和远程视图,是基于表且可更新的数据集合,视图不以独立的文件形式保存;

视图兼有表和查询的特点虚表;

视图中的数据源表也称为“基表”。

(2)视图中的数据是可以更改的,它不仅具有查询

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1