vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx

上传人:b****7 文档编号:22941013 上传时间:2023-02-06 格式:DOCX 页数:12 大小:19.48KB
下载 相关 举报
vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx_第1页
第1页 / 共12页
vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx_第2页
第2页 / 共12页
vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx_第3页
第3页 / 共12页
vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx_第4页
第4页 / 共12页
vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx

《vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

vf讲义第二部分数据库sql查询报表范文Word文档下载推荐.docx

字段名[not]in(表达式1,表达式2,……)

between

格式1(函数):

[not]between(字段名,表达式1,表达式2)

格式2(短语):

字段名[not]between表达式1and表达式2

字段名的取值范围在或不在:

>

=表达式1并且<

=表达式2。

like

like(表达式,字段名)

字段名like表达式

(3)排序

select[topn[percent]][all/distinct]字段表达式[as新字段名]from表名orderby排序字段列表[asc]/[desc]

[topn[percent]]表示在符合查询条件的所有记录中,选取指定数量或百分比的记录。

Top短语必须与orderby短语同时使用。

Asc表示升序,desc表示降序,默认升序。

例如:

(4)分组与计算查询

计算查询

sum(求和字段名)

avg(字段名)

count(*)

max(字段名)

min(字段名)

以上函数均为列项求值;

查询中只要有任一个(也可为多个)函数,如果没有groupby分组,则查询结果只有表中最后一条记录,如果有groupby分组,则查询结果留下每一类最后一条记录。

如果使用了以上函数,则在查询结果中只有分组字段和统计字段有效,其他字段均无实际意义。

分组查询:

格式:

select字段表达式[as新字段名]from表名where条件Groupby分类字段having条件

注释:

Groupby按列的值对查询的行进行分组,查询结果留下每一类最后一条记录。

where短语是指在原表中进行条件筛选,也就是说,只有满足条件的记录才参与分组。

Having包含在查询结果中的组必须满足的条件;

即对分组的结果进行筛选。

去掉不满足条件的分组。

Having必须有Groupby时才能使用。

如果有Groupby短语,而无orderby短语时,查询的结果默认以分组字段的升序排列

(5)集合的并运算(union)

是将两个select语句的查询结果合并成一个查询结果,默认情况下,合并的结果删除重复的记录。

用all表示显示所有记录(包含重复记录)

合并条件:

列数相同,并且对应字段的数据类型和宽度相同。

对应字段的取值范围相同。

sele*fromjbqkwhere性别=”女”unionsele*fromjbqkwhere职称=”工程师”

(6)利用空值查询

注:

查询空值时用:

字段名isnull,

查询不为空值时用:

字段名isnotnull

(7)保存查询结果

select[all/distinct]字段表达式[as新字段名][topn[percent]]from表名Groupby分类字段having条件orderby排序字段列表[asc]/[desc]

输出到临时表中:

intocursor表名

执行完select语句后,临时表仍然保持打开和活动状态,但为只读。

一旦关闭临时表,查询结果则自动被删除。

输出到永久表中:

intodbf/table[表名]

执行完select语句后,此表依然处于打开和活动状态。

这个表将永远保存在默认目录下。

输出到数组中:

intoarray数组名

这里的数组为二维数组,每行一条记录,每列对应查询结果的一列。

数组中可以存放n个值,但他只属于一个内存变量。

数组的下标是从1开始的。

输出到文本文件中:

tofile文件名[additive]

扩展名为.txt,无格式仅是纯文本。

有additive表示将查询结果追加到此文件内容的后面。

E:

输出到打印机:

toprinter

3、数据定义

(1)建立表(若建立数据库表,则必须事先建立或打开数据库)

createtable表名[free](字段名1类型(宽度,小数位数)[check条件][error字符串][default默认值][NULL][NOTNULL][primarykey][unique],…,…[,foreignkey索引表达式tag索引名references父表名[tag父表的索引名]])

free说明此表为自由表。

类型只能用代表字母。

check为字段指定有效性规则;

error表示出错时的提示信息

Default表示默认值

NULL表示字段中允许取空值;

NOTNULL表示字段中不能取空值。

primarykey表示建立主索引

unique表示建立候选索引

foreignkey表示建立普通索引,但不能单独使用,在此之前必须先给父表建立主索引或侯选索引,建立普通索引的同时和父表建立永久性关系。

若无[tag父表的索引名]选项,则表示将关系建立在父表的主索引上。

不能建立唯一索引

(2)修改表结构

字段

修改字段名

altertable表名rename[column]原字段名to新字段名

修改字段的宽度和类型

altertable表名alter[column]字段名类型(宽度,小数位数)

添加新字段

altertable表名add[column]字段名类型(宽度,小数位数)

删除字段名

altertable表名drop[column]字段名

修改字段有效性

修改规则及提示信息

altertable表名alter字段名setcheck条件[error字符串]

修改字段的默认值

altertable表名alter字段名setdefault默认值

删除规则及提示信息

altertable表名alter字段名dropcheck

删除字段的默认值

altertable表名alter字段名dropdefault

索引(表事先存在)

建立主索引

altertable表名addprimarykey索引表达式tag索引名

删除主索引

altertable表名dropprimarykey

建立侯选索引

altertable表名addunique索引表达式tag索引名

删除侯选索引

altertable表名dropuniquetag索引名

建立两表之间的永久关系(建立普通索引)

altertable当前表(子表)addforeignkey索引表达式tag索引名references父表[tag父表的索引名]

删除两表之间的永久关系(删除普通索引)

altertable表名(子表)dropforeignkeytag索引名

(3)表的删除(物理删除)

删除自由表:

droptable表名

删除数据库表:

打开数据库

4、操作功能

(1)插入记录

插入单条记录

insertinto表名(字段名1,字段名2,…)values(表达式1,表达式2,…)

如果要向当前表所有字段中插入所有值,则第一部分可以省略;

第二部分表达式的值必须与对应的字段类型相同。

将数组中的值插入到表中。

insertinto表名fromarray数组名

(2)删除记录(逻辑删除)

deletefrom表名where条件

(3)有规律的修改记录或替换记录

update表名set要修改的字段名=用谁来修改where条件

5、联接查询

(1)简单联接查询

select多表中字段名列表from多表列表where联接条件

基于多个表的查询,查询的结果可以出自多个表中

(2)嵌套查询

select字段列表from表名where条件或字段名关键字in(select一个字段名关键字from表名where条件)

查询的结果来自一个表,而查询的条件却涉及到其他表

(3)自联接查询

select字段列表from表名别名where条件

(4)使用量词和谓词的查询

使用量词查询

select字段名列表from表名where字段表达式比较运算符[ANY/ALL/SOME](子查询)

ANY、ALL、SOME是量词。

ANY和SOME在查询中如果子查询只要有任意一条记录能使结果为真,主查询便显示相应的记录。

ALL要求子查询中的所有记录都必须使结果为真时,主查询才显示相应的记录。

使用谓词查询

select字段名列表from表名where[NOT]EXISTS(子查询)

EXISTS是谓词,用来查询在子查询中是否有结果返回,即存在或不存在记录。

他本身并没有任何运算或比较。

(5)超联接查询(基于多表的查询)

两表:

selectfrom表1[inner/left/right/full]join表2on联接条件

联接条件在ON短语中给出,联接类型在FROM短语中给出;

INNERJOIN满足联接条件的记录才出现在查询结果中。

LEFTJOIN在查询结果中包含JOIN左侧表中的所有记录,以及JOIN右侧表中匹配的记录;

RIGHTJOIN在查询结果中包含JOIN右侧表中的所有记录,以及JOIN左侧表中匹配的记录;

FULLJOIN在查询结果中包含JOIN两侧所有的匹配和不匹配记录。

三表

select字段列表from第一个表innerjoin第二个表innerjoin第三个表on第三个表中关键字=第二个表中关键字on第二个表中关键字=第一个表中关键字

第二节查询、视图及报表

1、查询(.qpr)

(1)查询是为了从指定的表中快速方便地使用数据而提供的一种方法。

(2)建立查询

方法:

文件→新建→查询→新建文件

使用项目管理器

手工命令:

createquery

(3)修改查询

文件→打开

modifyquery查存文件名

(4)执行查询

运行查询

查询去向

2、视图

(1)视图是通过引用其他表或视图而定制的虚拟表,是一个依附于别的表上的寄生表。

(2)建立视图

方法

步骤一:

建立数据库或打开数据库

步骤二:

文件→新建→视图→新建文件

(重点)

createview视图名asSQL查询语句

(3)修改视图

打开数据库后:

在视图上单击右键修改

modifyview视图名

(4)视图与数据更新

注意:

指定可更新的表

指定可更新的字段

“钥匙”表示关键字

“铅笔”表示实际要更新的字段。

选中发送SQL更新

(5)查询与视图的区别

归属不同

查询是项目的一级文件,而视图是项目下数据库的组件。

查询保存在独立的查询文件中;

而视图保存在所属的数据库文件中。

功能不同

查询只能读取基表的数据,因此不能修改查询记录;

而视图既能读取也能修改基表的数据

使用方法不同

查询不能用作程序中use的数据源,查询的结果可以指定输出;

而视图几乎可用于一切能使用表的地方。

3、报表

(1)创建报表(实际是打开报表设计器)

利用项目管理器:

菜单:

文件→新建→报表→新建文件

createreport报表名

(2)修改报表

利用项目管理器:

文件→打开

modifyreport报表名

(3)报表设计器的组成

页标头:

即每页的标题,其内容每页顶端显示一次

页注脚:

即每页的注脚,其内容每页顶端显示一次

细节:

报表的数据区,其中的内容每一条记录显示一次

(4)单项报表利用向导建立:

文件→新建→报表→向导→报表向导

(5)一对多报表利用向导建立:

文件→新建→报表→向导→一对多报表向导

(6)快速报表的建立

打开报表设计器

报表→快速报表

(7)设计报表的布局

设置报表页面(多栏)

规划数据的位置

调整报表带区的大小

(8)设计分组报表(必须事先按分组字段建立索引)

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

当前位置:首页 > 总结汇报 > 学习总结

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

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