第III部分ACCESS构建块
第8章使用查询选择数据
查询的保存实际上只储存了查询背后的SQL语法
•需要的空间更小
•查询使用记录(数据)的最新版本
疑难要点:
1.字段排序不对长文本字段和OLE对象字段起作用
2.后运行的排序会优先显示
3.日期的显示,亚洲等地是先月后日,美国是先日后月:
亚洲:5/6/2010=2010年5月6日
美国:5/6/2010=2010年6月5日
所以在涉及日期的查询或数据中需要注意这一点(特别是文本数据)
4.删除表会同时删除关系,如果查询中包含了该关系或使用了包含该表的计算字段,
则会导致错误
多表查询的限制
根据P151的表8.1,有很多情况是不能在查询中更新原始表的
三种基本的联结类型
1.内连接
在两表中同时有匹配值的记录
左连接
先显示第一个表,再从中匹配第二个表
右连接
先显示第二个表,再从中匹配第一个表
第9章在Access中使用运算符和表达式
运算符的类型
•数学
•比较
•字符串
•逻辑(布尔)
•其他
1.数学运算符难点:
整除运算符“\”:完全舍弃小数部分,整数部分四舍六入五成双:
100.9/6.6=14
102/7=14
取模除法“Mod”:将前后两个数字正常四舍五入为整数,将第一个数字除以第二个数字后,返回余数
(通常用于确定某个数是偶数还是奇数:如X Mod 2=0,X为偶数)2.比较运算符难点:
仅有三种返回结果:True,False,Null(实际上会返回一个数值结果:-1,0,Null,注意True=-1)
“Man”<“Woman”:
Access仅针对两个字符串进行逐字符的比较,因M在W前,所以Man不大于Woman (和字母升序的逻辑类似)
同样,如进行的是字符串比较,“10”<“9”,因为按照顺序第一个字符“1”<“9”且Access不区分大小写,XYZ=xyz,
“<=”和“>=”书写顺序要求严格,不能写倒
3.字符串运算符难点
仅用于处理字符串
使用&时,比如连接字符串和日期时,无需对日期进行额外处理,因Access强制将操作视为字符串
Like和Not Like:同样三种返回结果True,False,Null
主要用于和通配符链接
?,*,#,[list],[!list](详见P162的表格例子)
如果数据中包含通配符的符号,使用[]框起来可以避免被当做通配符
4.逻辑运算符难点
1)And
False And Null = False
2)Or
False Or Null = Null
5.运算符的运算顺序
详见P165-166的清单
在查询中使用运算符和表达式
1.查询条件默认的是关系运算符"="
2.QBE窗格同一行输入And条件,不同行中输入Or条件
单值字段条件
1.输入字符条件难点
因通常字符串都会用“”作为字符串的标识符,当数据中真的有双引号时,应在外部使用单引号,表示是一个字符串整体
例子:寻【A"B"C】→条件为‘A"B"C'
2.Like运算符和通配符难点
中括号的使用,中括号[]代表一个集合,即符合中括号中数值均可带入到中括号位置上作为条件进行查询
3.指定非匹配值
通常,使用Not或者<>表示非匹配值条件
但Null的情况特殊,因为“不是Null”有专用的运算符→Is Not Null
4.数字条件
包含<>=时,默认是数值条件,Access不会自动添加双引号“”.
4.True或False条件
因在这样的数据中,除了True和False,有时候还有Null,这是值得考虑的。
True的不同写法:
trim函数的作用是删除文本的什么空格
Yes,On,Not No,<> No,< No,-1
在一个查询中使用多个条件
1.Or的使用
1)QBE窗格中最多使用9个或行
2)Or使用QBE窗格的多个或行写Or条件,保存时会自动整合为一行
2.In的使用
In运算符后实际跟的是一个集合,有时候和多个Or = 差不多
3.And的使用
通常用于时间计算,偶尔用于文本,但通常有更好理解的替代语句
比如:(>="D" And <= "F")寻以字母DEF开头的名字
但可替换为(Like "[DEF]*")更好理解
在时间运算中,And的双True属性能很好的划定时间范围
4.Between…And
和And类似,当时间区间仅有一个且连贯时可以互换
5.搜索Null数据
1)空值“”实际上就是Null,通常用于表示尚不明确的数据
2)可用于包含图片的Access
3)通常不显示,仅用于筛选
在多个字段中输入条件
同一个条件行为And关系,上下条件行为Or关系
下图实际是三个条件,一个三字段And条件和两个单字段条件,满足其中之一就会出现在查询结果中
第10章选择查询以外的查询形式
聚合查询
实际上就是激活了【总计】功能的查询,在总计行中写入聚合函数(类似于数据透视表)
1.聚合函数
1)Group By:
将相同的字段合并,类似于数据透视表的列,优先执行,默认升序
2)合计、平均值、计数、StDev、变量
范围记录的数学计算,将排除Null的记录(忽略空单元格)
合计:求和
平均值:求平均值
计数:计算出现次数
StDev:计算标准差
变量:计算所有值和平均值的差量(每个数和平均值的差的和,再除以(个数-1))3)最小值、最大值、First、Last
最小值:返回最低值
最大值:返回最大值
First:返回第一条记录的值(依据为后台记录创建时间,不根据升降序变化)
Last:返回最后一条记录的值(依据同上)
4)Expression、Where
Expression:用于在聚合查询中使用自定义计算,聚合方法会跟随函数中使用的字段(也可能是自定义字段)
Where:用于对不进行聚合的字段应用条件
2.动作查询
1)生成表查询
创建一个包含查询结果的硬表

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。