索引和查询
索引
因为我们经常按特定字段查找或排序表中的记录。所以我们可以通过对字段创建索引来加快这些操作的速度。
创建索引后,在表中查找数据时,Access就会在索引中搜索数据的位置,从而提高查找效率。
- 自动创建索引
- 为单字段创建索引
- 无:不创建索引或删除现有索引
- 有(有重复):创建索引,字段中的值可以重复(如销售表中的编码会重复)
- 有(无重复):创建索引,字段中的值不可以重复
-
为多字段创建索引
-
如果同时按照两个或多个字段进行搜索或排序
- 一个多字段索引最多可以包含10个字段
- 主索引【是】:就是主键
- 唯一索引【是】:索引中不能包含重复值
- 忽略空值【是】:索引字段中具有空值的记录被排除掉了。
查询
- 没有建立关系的话,无法合并查询
查询向导
对不同表格进行简单的合并查询引导
简单查询
- 将学生表里的两个标签,成绩表里的两个标签进行合并
效果如图
创建-查询向导-简单查询向导
将相应的表格标签放在一起-点击下一步-完成
可以看到合并后的表格
关闭文件后还能对其重命名
可以导出sql语句: 开始-视图-sql
重复查询
注意:对1端表进行操作
- 查询重复项(对一端表)
例如:查找生日相同的人员名单,可以显示满足条件的所有记录,并指定显示它的指定字段。
问:如果你对多端表进行操作,想一想还有意义吗?
答:有意义!处理多对多关系时,将多对多关系处理成两个一对一关系,这时就要这么做了。
案例:如找到相同生日的同学
创建-查询向导-查找重复项
选择想要查询的表
点击有重复的字段(点完下一步后会发现出生日期的标签消失了)-点击下一步
原因是需要查询的东西不一样了,需要注意把自己另外查询的非重复项放进去-点击下一步-完成
查找不匹配项
简单的说:就是1端表中有的,但是多端表中没有的。
例如:商品表中有100种商品,但是很多商品这个季节没有货,销售表里只有90种商品有销售记录,那么另外10种就是1端表中有,但是多端表中没有的。(即想查找销售表里面没有记录的商品,就是卖不出去的商品)
在向导中,第一步指定1端表,第二步指定多端表,确定二者连线关系,选择显示的字段。
创建-查询向导-查找不匹配项
选择商品表(第一步指定1端表)-下一步
选择销售表(第二步指定多端表)-下一步
选择左边和右边都有的商品编码,原因是要靠他来进行连接(确定二者连线关系)
选择想要查询的字段-完成
空表的原因是多端表(销售表)中并没有一端表(商品表)中没有的商品
- 如果是在一端表中添加一个多的,再重复此过程去查询,可以查到这个重复的项
成功找到
查询设计之简单查询
-
步骤:
1.创建-查询设计
2.添加需要查询的表,多表需要建立关系
3.选择字段,(*)代表所有字段
4.运行
5.保存查询 -
案例:创建-查询设计
自动创建了关系
添加关系:如果是整张表的字段都需要,则双击对应表上的*号,其他的也双击
点击返回正常视图,可以发现已经创建完成
保存重命名
- 和查询向导里面的简单查询的区别:查询向导里面的查询需要提前建立好关系,其实是不利于数据表的储存;而查询设计里的查询是临时建立的查询,对底层的逻辑没有影响
查询设计之条件查询
- 查询设计-点击相应表格字段-排序-升序
排序成功