2查询文档格式.docx
- 文档编号:4074453
- 上传时间:2023-05-02
- 格式:DOCX
- 页数:15
- 大小:54.56KB
2查询文档格式.docx
《2查询文档格式.docx》由会员分享,可在线阅读,更多相关《2查询文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
要求创建“教龄”计算字段,可在设计网格的字段行中输入
教龄:
year(date())-year([工作时间])
(6)设计查询的基本步骤:
(参照select查询语句)
1、确定数据源(FROM):
将查询所涉及到的数据源(可以是数据表、查询)添加到设计器上部。
2、确定查询结果所需字段(SELECT):
利用鼠标可以将查询中所需的字段拖动到“字段”行中。
并根据该字段在结果中是否显示,确定显示字段。
3、确定数据筛选条件(WHERE):
选取满足条件的元组。
4、确定结果分组依据(GROUPBY):
把查询记录按照某些字段进行分组。
(当需要进行分组统计的时候)
5、确定结果集排序依据(ORDERBY):
根据排序需要选择对应字段的排序属性。
6、保存设计好的查询。
二、表达式
表达式贯穿了字段属性的有效性规则、筛选、查询规则、窗体报表的计算控件、宏条件书写、VBA语句代码各部分内容,在整个ACCESS学习中非常重要,要求学员必须掌握。
查询通过指定的条件查找满足该条件的数据,该条件称为查询准则。
查询准则是运算符、常量、字段值、函数、对象属性等的任意组合。
想要进行快捷、有效的查询,必须掌握查询准则的书写方法。
(1)表达式的基本符号。
[]:
将窗体、报表、字段或控件的名称用方括号包围
#:
将日期用数字符号包围
“”:
将文本用双引号包围
&
:
可以将两个文本连接为一个文本串
!
运算符:
运算符指出随后出现的是用户定义项
.运算符:
随后出现的是Access定义的项。
1、文本或字符串数据,必须包含在””双引号中间,例如”北京”、”等级考试”。
2、日期数据必须用#括起来,如#2010-3-9#
3、数字数据,直接书写即可,如10
4、连接符&
,如“北京”&
“奥运”,则运算后等于“北京奥运”
5、引用学生表中的性别字段,[学生].[性别];
直接引用性别字段[性别]
(2)准则中的运算符:
运算符举例说明:
1、[年龄]between1and10:
表示1到10之间,包括1和10。
2、[系别]in(“信息”,”数据”,”计算机”):
表示系别在“信息”、”数据”、”计算机”中之一的,in表示要求满足其括号后面所列出内容之一。
3、[姓名]like“刘*”:
表示姓名要与“刘*”匹配,其中*表示0或任意多个字符,所以这里表示姓名是姓刘的。
利用“like+通配符”来匹配文本串的方法,很多地方又称之为“模糊查询”。
通配符
一般使用两个:
*表示0或任意多个任意字符、?
表示一个任意字符。
4、在betweenand、in、like、及比较运算符之前使用not,表示与其基本含义相反。
可翻译为“不”。
5、对于空值NULL,只能用专有的isnull是空值,isnotnull不是空值来比较。
6、and表示链接多个条件,这些条件都满足了,总体才满足。
如age>
5andage<
10,如果现在age=4,则满足了小于10但没有满足大于5,所以总体条件不满足;
如age=6,则即满足小于10又满足大于5,所以总体条件满足。
7、or表示链接的多个条件,只要满足其中一个,总体就满足。
5orage<
10,如果现在age=4,则满足了小于10但没有满足大于5,满足了其中之一,所以总体条件满足。
(3)表达式中的函数—数值函数
函数名(参数1,参数2,参数3。
。
)
函数
说明
Abs(数值表达式)
返回数值表达式的绝对值
Int(数值表达式)
返回不大于数值表达式的整数,向下取整
Sqr(数值表达式)
返回数值表达式的平方根
Sgn(数值表达式)
返回数值表达式的符号值。
数值表达式>
0,返回1;
=0,返回0;
<
0,返回-1
函数符举例说明:
1、abs(-1)=1
2、Int(9.99)=9,Int(-9.59)=-10
3、Sqr(9)=3
4、Sgn(5)=1,Sgn(0)=0,Sgn(-5)=-1
(4)表达式中的函数—字符函数
SPACE(数值表达式)
返回数值表达式的值指定的空格字符串
STRING(数值表达式,字符串表达式)
返回由字符表达式的第一个字符重复组成的指定长度为数值表达式的值的字符串
LEFT(字符串表达式,数值表达式)
返回字符串左边的数值表达式值指定的字符
RIGHT(字符串表达式,数值表达式)
返回字符串右边的数值表达式值指定的字符
LEN(字符串表达式)
返回字符串表达式的字符个数,如字符串为null,返回null
LTRIM(字符串表达式)
去掉字符串表达式左边的空格
RTRIM(字符串表达式)
去掉字符串表达式右边的空格
TRIM(字符串表达式)
去掉字符串表达式两边的空格
MID(字符串表达式,数值表达式1,数值表达式2)
返回字符串表达式从左边算起第数值表达式1开始,截取长度为数值表达式2的字符串.
1、SPACE(4)=””四个空格
2、STRING(4,”abcd”)=”aaaa”
3、LEFT(”abcd”,2)=”ab”、RIGHT(”abcd”,2)=”cd”、MID(”abcd”,2,2)=”bc”
4、LEN(”abcd”)=4、LEN(””)=0、LEN(null)=null
5、LTRIM(“ab”)=“ab”、RTRIM(“ab”)=“ab”、TRIM(“ab”)=“ab”
(5)表达式中的函数—日期时间函数
Date()
返回当前系统日期
Time()
返回当前系统时间
Now()
返回当前系统日期和时间
DAY(date)
返回给定日期是一个月中的哪一天
MONTH(date)
返回给定日期是一年中的哪个月
YEAR(date)
返回给定日期100~9999的值,表示给定日期是哪一年year(date())
WEEKDAY(date)
返回给定日期1~7的值,表示给定日期是一个周中的哪一天
HOUR(date)
返回给定日期0~23的值,表示给定时间是一天中的哪个钟点
DateSerial(year,month,day)
对于指定的年、月、日,返回Date子类型的Variantdateserial(2011,2,17)
1、DAY(#2010-3-9#)=9、MONTH(#2010-3-9#)=3、YEAR(#2010-3-9#)=2010
2、WEEKDAY(#2010-3-9#)=3,注意,星期天为一周的第一天
3、DATE()=#2010-3-9#
4、DateSerial(1990,8,11)
(6)表达式中的函数—统计函数
SUM(表达式)
返回表达式的总和,表达式一般是一字段名
AVG(表达式)
返回表达式的平均值,表达式一般是一字段名
COUNT(表达式)
统计记录个数,表达式一般是一字段名
MAX(表达式)
返回表达式的最大值,表达式一般是一字段名
MIN(表达式)
返回表达式的最小值,表达式一般是一字段名
1、sum([成绩])求总成绩,avg([成绩])求平均成绩,count([学生编号])求学生人数,max([成绩])求最大成绩,min([成绩])求最小成绩
2、count函数对于重复的内容将不统计,所以统计人数,一定要用学生编号,如果用姓名,就可能出现同名的人,而导致统计的人数少了。
(7)表达式综合举例
字段名
准则
说明
职称
“教授”
查询职称为教授的记录
“教授”or“副教授”
查询职称为教授、副教授的教师记录
课程名称
Like“计算机*”
查询课程名称以”计算机”开头的记录
姓名
In(”张三”,”李四”)
查询姓名为”张三”或”李四”的记录
NotLike“王*”
查询不姓王的记录
Left([姓名],1)=“王”
查询姓王的记录
Len([姓名])=2
查询姓名为两个字的记录
学生编号
Mid([学生编号],3,2)=”03”
查询学生编号第3和第4个字符为03的记录
工作时间
Between#99-01-01#And#99-12-31#
查询99年参加工作的记录
Date()-15
查询15天前参加工作的记录
出生日期
Year([出生日期])=1980
查询1980年出生的记录
Isnull
查询姓名为空的记录
Isnotnull
查询姓名不会空的记录
“”
查询姓名为空字符串的记录
三、SQL语句简介
数据库查询是数据库的核心操作。
SQL语言提供了SELECT语句进行数据库的查询,该语句具有灵活的使用方式和丰富的功能。
我们要掌握基本语法和关键字。
(1)SQL关键字
1、SELECT关键字主要用于数据的查询,即从数据中选择满足条件的数据,同时进行统计、计算。
2、CREATE表示建立、DROP表示删除、ALTER表示修改,他们主要针对表的结构。
3、INSERT表示插入记录、UPDATE表示修改记录、DELETE表示删除记录。
4、GRANT表示授权、REVOTE表示收回授权。
(2)数据定义、操作、控制相关SQL语句语法和示例:
1、Insert记录插入语句基本语法
INSERTINTO<
表名>
[属性列表]VALUES(对应属性列表的值列表)
INSERTINTO课程(课程编号,课程名称)VALUES('
101'
'
计算机基础'
2、UpDate数据修改(更新)语句基本语法
UPDATE<
SET<
列名>
=<
表达式>
[,<
]…
[WHERE<
条件>
]
UPDATE学生SET年龄=年龄+1where姓名=’张三’
3、Delete数据删除语句基本语法
DELETEFROM<
[WHERE<
DELETEFROM学生WHERE年龄<
17
4、其他操作定义SQL语句(了解即可)
CREATETABLE课程(课程编号char(4),课程名称char(20),开课时段date)
CREATEINDEXdexON课程(课程编号)‘在课程表的课程编号字段上建立一个索引dex
CREATEVIEW学生ASSELECT*FROM学生‘创建一个视图,名称为学生
DROPTABLE学生‘删除“学生”表
DROPINDEXdex,‘删除索引dex
DROPVIEW学生‘删除视图“学生”。
ALTERTABLE雇员ADD职务CHAR(10)
ALTERTABLE雇员DROP备注
ALTERTABLE雇员ALTER雇员号CHAR(8)
(3)SELECT的基本语法
SELECT[ALL/DISTINCT/*]
目标列表表达式>
[,<
目标列表达式>
FROM<
表名或视图名>
表名或视图名>
条件表达式>
[GROUPBY<
列名1>
[HAING<
条件表达式>
]]
[ORDERBY<
列名2>
{ASC/DESC}]
Selectdistinct姓名,团员否from学生where年龄<
18orderby姓名desc
其中<
>
表示在实际的语句中要采用所需内容进行代替,[]表示可以根据需要进行选择,也可以不选,{}表示必选项。
SELECT说明:
1、显示记录中指定的字段(select后字段列表,可以用*号表示表的所有字段),对选择出的记录,是否要消除重复记录(DISTINCT)。
2、从(From)哪些数据源或表(表名跟在from后面)中
3、选择出满足一定条件(where后语句)的记录。
4、显示的数据是否要排序,按哪些字段如何排序(orderby完成。
ASC升序,DESC降序,默认为ASC)。
5、在选择数据时是否要分组,按什么字段分组(groupby)。
(4)SELECT语句示例:
1、SELECT*FROM学生;
2、SELECT姓名,系别,年纪AS年龄FROM学生WHERE年纪BETWEEN20AND23
3、SELECT姓名,性别FROM学生WHERE系别IN(‘信息’,’数学’,‘计算机’)
4、SELECT姓名,学生编号,性别FROM学生WHERE姓名LIKE‘刘*’
5、SELECT姓名FROM学生WHERE系别=’信息’OR系别=‘数学’OR系别=’计算机’
6、SELECT*FROM学生ORDERBY系别,年龄DESC
四、各类查询要点分析。
(必须掌握)
(1)选择查询
1、字段中"
*"
号表示表中的所有字段。
2、字段重命名:
新字段名称:
原字段名,利用字段重命名可以把字段名改变为其它名称。
如,学生姓名:
姓名。
表示将“姓名”更改为“学生姓名”。
3、选择查询可以实现记录分组,计算总和、计数、统计等等。
(2)总计查询。
1、在实际应用中,用户可能不仅要统计某个字段中的所有值,而且还需要把记录分组,对每个组的值进行统计。
例如将所有同学按性别“男”和“女”分组,分别统计男同学人数和女同学人数。
2、总计查询需要设定三种字段:
分组字段(一个总计查询中可以设置多个)、计算字段(一个总计查询中只可以设置一个)、条件字段(总计查询中,字段选中“条件”选项,表明该字段的引入只是为了对分组进行某种限制,该字段不能显示在结果中)。
3、对于计算字段,如果选择“计数”选项,则必须选择无重复值、没有null值的字段来进行,否则会使计数个数减少。
如上面求“男同学”和“女同学”各有多少人,需要对“学生编号”字段进行“计数”,“学生编号”是不可能重复的。
4、总计查询字段选项参考
选定
含义
总计
字段值的总和。
平均值
字段的平均值。
最大值
字段的最小值。
最小值
字段的最大值。
计数
字段值的数量,不包括Null(空)值。
标准差
字段的标准偏差值。
方差
字段的方差值。
第一条记录
该分组中当前字段的第一条记录的值
最后一条记录
该分组中当前字段的最后一条记录的值
分组
定义要执行计算的组。
例如,如果要按类别显示销售额总计,请对“类别名称”字段选定GroupBy。
表达式
创建表达式中包含合计函数的计算字段。
通常在表达式中使用多个函数时,将创建计算字段。
条件
指定不用于分组的字段准则。
设置了该参数的字段,将不能在结果中显示
(3)交叉表查询。
1、交叉表查询是ACCESS特有的一种查询,以表的形式显示出摘要数据,便于分析比较。
交叉查询将查询字段分为两组,一组显示在表左侧(称为行标题),一组显示在表的顶部(称为列标题),在行与列交叉的地方显示对相关数据进行总和、平均、计数等统计计算结果。
2、交叉表行需指定三种字段
行标题:
显示在查询结果最左侧的字段名,行标题字段可以设置多个字段。
列标题:
显示在每列标题上的字段名,列标题只能设置一个字段。
值:
在行、列交叉位置上统计的值,可以利用各种数据函数计算的结果。
(4)参数查询。
1、参数查询(动态查询)利用对话框,提示用户输入参数,并检索符合输入参数的记录或值。
在一个查询中可设置一个或多个参数。
2、设计要点:
在准则行中,在[]内添加提示语即可。
要求输入起始时间,可在设计网格任何位置中输入[请输入起始时间:
]。
3、为什么将提示语放在[]中,就会出现参数输入提示呢?
在表达式学习中我们知道,包含在[]中的一般是用户在ACCESS数据库中定义的对象名,例如:
表、窗体、报表、表的字段、控件名等等。
系统会在当前数据库中查找[]中的对象,并读取。
但是如果当前数据库中没有定义[]内部出现的对象名(例如我们这里临时添加的提示语言),系统先查找该对象,在没有的情况下,便弹出参数输入窗口,要求用户输入参数。
所以,在ACCESS的设计过程中,可以在任何对象中出现参数输入要求,只要把事先未定义的字符串放在[]中即可。
(5)操作查询。
1、在对数据库进行维护时,常常需要对大量的数据进行修改。
操作查询满足了这一要求,能够一次完成批量修改的工作。
2、操作查询分类:
(1)生成表查询:
可从一个或多个表中提出所需数据,并生成一个指定名称的新表。
(2)删除查询:
一次删除一批满足一定筛选条件的记录。
(3)追加查询:
将符合一定条件的记录添加到另一个现有的表中。
(4)更新查询:
将一批满足条件的记录进行更新(或修改)。
3、操作查询注意要点。
(1)执行操作查询:
要想执行特定的数据操作,不能只通过“数据表视图”来完成,必须点击工具栏上方的运行查询按钮。
(2)操作查询结果:
操作查询对于表的修改是不能用“撤消”来恢复的,所以在进行操作时,注意对表进行备份。
(3)查看操作查询的结果:
不能通过“数据表视图”来查看,而只能查看相关操作的数据表中的数据才能看到结果。
(6)SQL查询。
1、ACCESS可以直接使用SQL结构化查询语句来建立复杂而功能强大的查询。
我们知道,事实上利用“设计”视图创建的查询都是基于SQL的。
SQL查询在查询的SQL视图中设计。
2、SQL查询分类:
(1)联合查询(union):
两个或多个含有相同信息的独立查询联合为一个信息表。
如:
SELECT<
字段列表1>
FROM数据源1
union
字段列表2>
FROM数据源2
(2)子查询:
在查询语句select的规则中的还包含其它select查询语句,把包含在其它查询中的select查询称之为子查询。
如
SELECT姓名FROM学生WHERE学生编号IN(SELECT学生编号FROM选课成绩WHERE课程编号="
01"
(3)数据定义查询:
创建、更改、删除表或索引。
基本上都可由操作查询来完成。
(4)传递查询:
将SQL语句直接发送给ODBC数据库服务器,从而对其数据库进行操作。
即查询不在本数据中执行,而是传递给另一个数据库来执行。
使用传递查询时,不必与服务器上的表链接,就可以直接使用应用的表。
应用传递查询的主要目的是为了减少网络负荷。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 查询