目录
一、查询的功能
功能 | 解释 |
选择字段 | 相当于投影运算,选择表中的部分字段,建立一个新表 |
选择记录 | 相当于选择运算,查找满足条件的记录 |
编辑字段 | 添加、修改和删除表中的记录 |
计算 | 查找满足条件的记录,查询建立各种统计计算 |
建立新表 | 建立一个新表,并且永久保存 |
建立用于查询的报表和窗体 | 为了将一个或多个表中合适的数据生成报表或在窗体中显示,可以先根据需要建立一个所需要数据的查询,将查询的结果作为报表或窗体的数据源。 |
二、查询的类型
1.选择查询
根据用户定义的查询内容和规则,从一个表或多个表中提取数据进行显示
2.交叉表查询
利用表中的行或列来进行数据统计,数据源是基础数据表
3.参数查询
利用对话框来提示用户输入查询准则的一种查询
4.操作查询
(1)生成表查询
(2)删除表查询
(3)更新查询
(4)追加查询
5.sql查询
利用sql语句来实现查询
三、表达式
表达式广泛运用于表、查询、窗体、报表、宏和事件过程
表达式由运算对象、运算符和括号组成,运算对象包含常量、函数和标识符。
对象标识符可以是表中的字段名称、窗体、报表名称、控件名称、属性名称等。
1.常量
常量分为系统常量(如逻辑值true、false和空值null)和用户自定义常量
类型 | 解释 |
数值型 | 包括整数和实数 |
文本型 | 由字母、汉字和数字等符号构成的字符串 |
日期型 | 日期型数据 |
逻辑型 | 有真值和假值 |
2.常量函数
access系统在使用过程中不区分大小写
1.数学函数
函数 | 功能 |
abs(number) | 求绝对值 |
exp(number) | e指数 |
int(number) | 正:返回整数部分,舍去小数部分; 负:返回不大于原值的整数 |
fix(number) | 无论正或负,均舍去小数部分,返回整数 |
log(number) | 自然对数 |
rnd(number) | 0~1随机数,自变量可省 |
sgn(number) | 符号函数。正:返回1;0:返回0;负:-1 |
sqr(number) | 平方根,自变量非负 |
round(number,precision) | 四舍五入函数。第二个参数取值为非负整数,用于确定所保留的小数位数 |
number可以是数值型常量、数值型变量、 返回数值型数据的函数和数学表达式。
2.字符函数
函数 | 功能 |
left(stringexpr,n) | 左子串函数,从表达式左侧开始取n个字符 |
right(stringexpr,n) | 右子串函数,从表达式右侧开始取n个字符 |
mid(stringexpr,m[,n]) | 子串函数,从第m个字符截取,截取n个字符。n默认从m截取到尾部 |
len(stringexpr) | 返回字符个数,可以是字符、数值、日期或者逻辑型 |
ucase(stringexpr) | 将字符串中小写字母转换为大写字母 |
lcase(stringexpr) | 将字符串中大写字母转换为小写字母 |
space(number) | 生成空格函数,返回指定个数的空格 |
instr(c1,c2) | 查找子字符串函数。在c1中查找c2的位置,即c2是c1的子串,则返回c2在c1中的起始位置,否则返回0 |
trim(stringexpr) | 删除字符串首尾空格函数 |
rtrim(stringexpr) | 删除字符串尾部空格函数 |
ltrim(stringexpr) | 删除字符串字符重复函数,将部空格函数 |
string(n,stringexpr) | 字符重复函数,将字符串的第一个字符串重复n次,生成一个新字符串 |
3.日期时间函数
函数 | 功能 |
date() | 日期函数。返回系统当前日期。无参数 |
time() | 时间函数。返回系统当前时间。无参数 |
now() | 日期时间函数。返回系统当前日期和时间。无参数 |
day(dateexpr) | 求日函数。返回日期表达式中的日值 |
month(dateexpr) | 求月函数。返回日期表达式中的月值 |
year(dateexpr) | 求年函数。返回日期表达式中的年值 |
weekday(dateexpr) | 求星期函数。返回日期表达式中的这一天是一周中的第几天(默认周一为第一天) |
hour(timeexpr) | 求小时函数。返回时间表达式中的小时值 |
minute(timeexpr) | 求分钟函数。返回时间表达式中的分钟值 |
second(timeexpr) | 求秒函数。返回时间表达式中的秒值 |
datediff(interval,date1,date2) | 求时间间隔函数。返回日期2减日期1的值。日期2大于日期1,得正值,否则为负值。 |
datediff函数用法
时间间隔参数 | 含义 |
yyyy | 函数值为两个日期相差的年份 |
q | 函数值为两个日期相差的季度 |
m | 函数值为两个日期相差的月份 |
y,d | 函数值为两个日期相差的天数,参数y和d作用相同 |
w | 函数值为两个日期相差的周数(满7天为一周),当相差不足7天时,返回0 |
4.转换函数
函数 | 功能 |
asc(stringexpr) | 返回字符串第一个字符的ASCII码 |
char(charcoder) | 返回ASCII码对应的字符 |
str(number) | 将数值转换为字符串。如果转换结果是正数,则字符串前添加一个空格 |
val(stringexpr) | 将字符串转换为数值型数据 |
3.表达式
表达式由运算符和括号将运算对象连接起来的式子
·常量和函数可以看成是最简单的表达式
·表达式分为(据运算符不同分):
算术表达式
字符表达式
关系表达式
逻辑表达式
1.算术表达式
运算符 | 功能 |
- | 取负值,单目运算 |
^ | 幂 |
*、/ | 乘、除 |
\ | 整除 |
mod | 模运算(求余数) |
+、- | 加、减 |
算术运算优先级:括号 >单目运算>幂>乘除>模运算>加减
2.字符表达式
由字符运算和字符型常量、字符型对象标识符、返回值为字符型数据的函数等构成的表达式
eg
运算符 | 功能 |
+ | 连接两个字符型数据,返回值为字符型数据 |
& | 将两个表达式的值进行首尾相接。返回值为字符型数据 |
3.关系表达式
由关系运算和字符表达式、算术表达式组成,它的运算结果为逻辑值
运算符 | 功能 |
< | 小于 |
> | 大于 |
= | 等于 |
<> | 不等于 |
<= | 小于等于 |
>= | 大于等于 |
is null | 空 |
is not null | 不为空 |
in | 判断左侧的表达式的值是否在右侧的值列表中 |
between | 指定闭区间范围 |
like | 判断是否符合指定的模式符 |
4.逻辑表达式
由逻辑运算符和逻辑型产量、逻辑型对象标识符、返回逻辑型数据的函数和关系运算符组成。其运算结果为逻辑值
运算符 | 功能 |
not | 非 |
and | 与 |
or | 或 |
xor | 异或 |
eqv | 逻辑等价 |
附:或与异或区别
或eg:有学生证或AB血型的人可以免费吃午餐
有三种情况可以免费吃:1.有学生证 2.AB血型 3.有学生证且血型为AB
异或eg:只有美国人和中国人可以免费吃午餐
有两种情况可以免费吃午餐:1.为美国人 2.为中国人
(每个人只有一个国籍)
异或是无法同时满足多个条件的,而或可以
逻辑运算优先级:括号>not>and>or>xor>eqr
不同类型的运算优先次序:函数运算>算术运算>字符运算>关系运算>逻辑运算