查询20天前参加工作的记录
BetweenDate()AndDate()-20
查询20天之内参加工作的记录
出生
日期
Year([出生日期])=1980
查询1980年出生的记录
工作
时间
Year([工作时间])=1999AndMonth([工作时间])=4
查询1999年4月参加工作的记录
注意:
日期常量要用英文的“#”号括起来。
6.使用字段的部分值作为查询条件
字段名
条件
功能
课程名称
Like”计算机*”
查询课程名称以”计算机“开头的记录
Left([课程名称],3)=“计算机”
InStr([课程名称],“计算机”)=1
Like”*计算机*”
查询课程名称中包含”计算机“的记录
姓名
Notlike”张*”
查询不姓”张“的记录
Left([姓名],1)<>“张”
注意:
在条件中,字段名必须使用方括号括起来,而且数据类型与对应字段定义的类型相符合。
7.使用空值或空字符串作为查询条件
空值是使用Null或空白来表示字段的值;空字符串是用双引号括起来的字符串,且双引号中间没有空格。
使用空值或空字符串作为查询条件的示例如下:
字段名
条件
功能
姓名
IsNull
查询姓名为Null(空值)的记录
IsNotNull
查询姓名有值(不是空值)的记录
联系电话
“”
查询没有联系电话的记录
注意:
☐在条件中字段名必须用方括号括起来。
☐数据类型必须与对应字段定义的类型相符合。
总结:
设置查询条件时注意:
1.日期型数据两边加“#”,字符型数据两边加半角双引号
2.在条件中字段名必须用方括号括起来
3.两个以上条件时,同行相与,异行相或
4.条件中引用表名时,应用方括号括起来,与字段名之间用“!
”。
如[教师档案表]!
[姓名]
3.2创建选择查询
根据指定条件,从一个或多个数据源中获取数据的查询称为选择查询。
创建创建选择查询的方法有两种:
查询向导和设计视图。
3.2.1使用查询向导
1、使用简单查询向导
使用查询向导创建查询,操作者可以在向导指示下选择一个或多个表、一个或多个字段,但不能设置查询条件。
例3-1查找“教师”表中的记录,并显示“姓名”、“性别”、“职称”和“联系电话”4个字段。
创建基于多表的查询
例3-2查询每名学生选课成绩,并显示学生编号,姓名,课程名称,成绩。
查询名称为“学生选课成绩”
注意:
1、在数据表视图显示查询结果时,字段的排列顺序与在“简单查询向导”对话框中选定字段的顺序相同。
故在选定字段时,应考虑按照字段的显示顺序选取。
2、当所建查询的数据源来自于多个表时,应建立表之间的关系。
2、使用查找重复项查询向导
例3-3判断“学生表”中是否有重名的学生
3、使用查找不匹配项查询向导
在一对多的关系中,一端显示不匹配的
例3-4查找哪些“课程”没有学生选修,并显示课程号,课程名
例3-5查找哪些“学生”没有选课
3.2.2使用“设计”视图
1.查询设计视图组成
在Access中,查询有5种视图:
设计视图、数据表视图、SQL视图、数据透视表视图和数据透视图视图。
在设计视图中,既可以创建不带条件的查询,也可以创建带条件的查询,还可以对已建查询进行修改。
打开查询设计视图
2、创建不带条件的查询
例3-6查询每名学生选课成绩,并显示学生编号,姓名,课程名称,成绩。
查询名称为“学生成绩查询”
3、创建带条件的查询
例3-7查询“教师表”中2000年参加工作的男教师,并显示姓名、性别、职称、工资
"男"AndYear([工作时间])="2000"
例3-8查询学生成绩不及格的和90分以上的,并显示学号,姓名,性别,成绩
3.2.3在查询中进行计算
常常对查询结果进行统计计算,如求和、计数、求最大值和平均值等。
1查询计算功能
在Access查询中,可以执行两种类型的计算,预定义计算和自定义计算。
(1)预定义计算即“总计”计算,是系统提供的用于对查询中的记录组或全部记录进行的计算,它包括总计、平均值、计数、最大值、最小值、标准偏差或方差等。
(2)自定义计算使用一个或多个字段的值进行数值、日期和文本计算。
对于自定义计算,必须直接在“设计网格”中创建新的计算字段,创建方法是将表达式输入到“设计网格”中的空字段单元格,表达式可以由多个计算组成。
例3-9利用“学生成绩”表,建立自定义查询,并显示姓名,性别,总评,综合
综合=(语文+数学+英语)*0.8+总评*0.2
2在查询中进行计算(总计查询)
总计查询是在成组的记录中完成一定计算的查询。
使用查询设计视图中的“总计”行,可以对查询中全部记录或记录组计算一个或多个字段的统计值。
例3-10统计教师人数。
例3-11统计工商管理学院学生的人数。
3分组总计查询
将记录进行分组,对每个组的值进行统计。
分组统计时,应在该字段的“总计”行上选择“分组”。
例3-12计算各类职称的教师人数。
例3-13统计学生表中各年份出生的人数。
例3-14按姓氏统计学生人数。
4添加计算字段
添加的新字段值是根据一个或多个表中的一个或多个字段并使用表达式计算得到,也称为计算字段。
例3-15统计年龄小于所在班级平均年龄的学生,显示其班级号、姓名、平均年龄和年龄
假设,班级号为“学生编号”中的前8位。
3.3交叉表查询
3.3.1认识交叉表查询
(1)所谓交叉表查询,就是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的各种计算值与Excel中的数据透视表一样
交叉表字段说明:
行标题——位于数据表左侧第一列。
它是指把与某一字段或记录相关的数据放入指定的一行中,以便进行概括;
列标题——位于表的顶端。
它是对某一列的字段或表进行统计,并把结果放入该列;
列中值字段——它是用户选择在交叉表中显示的字段,行与列交叉位置上的字段,用户需要为该字段指定一个总结类型,例如Sum、Avg、Min、Max函数等
3.3.2使用“交叉表查询向导”
例3-16创建一个交叉表查询,统计每专业男女生平均成绩。
专业
男
女
工商管理
77.2
环境工程
68.6
应用化学
91
例3-17创建一个交叉表查询,显示各班级每门课程的平均成绩。
(学号的前8位为班级编号)
班级编号
高等数学
计算机原理
专业英语
19991021
68
73
81
20001022
73
73
75
20011023
74
76
74
20041021
72
20051021
71
20061021
67
例3-18使用查询向导创建一个交叉表查询,显示每种产品不同规格的平均单价。
规格
灯泡
节能灯
日光灯
220V-100W
1.2
220V-150W
2.5
220V-15W
.8
220V-16W
14
220V-20W
7
220V-30W
9
220V-40W
10
220V-45W
1.1
220V-4W
6
220V-60W
1.2
220V-8W
8
6
3.4 参数查询
参数查询利用对话框,提示输入参数,并检索符合所输参数的记录。
可以创建一个参数提示的单参数查询,也可以创建多个参数提示的多参数查询。
3.4.1单参数查询
创建单参数查询,即指定一个参数。
在执行单参数查询时,输入一个参数值。
例3-13按学生姓名查找某学生的成绩,并显示“学生编号”、“姓名”、“课程名称”及“成绩”等。
运行时临时指定查询条件的查询。
该查询运行时将弹出一个对话框,提示输入查询参数(条件)。
用[条件提示信息]替代查询条件
在字段中只指定一个参数,在执行查询时,用户只需要输入一个参数查询。
3.4.2多参数查询
创建多参数查询,即指定多个参数。
在执行多参数查询时,需要依次输入多个参数值。
例3-14建立一个查询,使其显示某专业某门课的学生“姓名”和“成绩”。
就是在字段中指定多个参数,在执行查询时,用户需要输入多个参数。
根据参数查询,可以设置输入数据的条件范围,根据不同的条件查询所需数据。
注意:
条件提示信息也可以是多个。
3.5操作查询
操作查询是指仅在一个操作中更改许多记录的查询。
例如在一个操作中删除一组记录,更新一组记录等。
选择查询、交叉表查询以及参数查询,不会对原始数据进行修改;而操作查询既可以查询数据,也可以对原始数据进行修改。
操作查询包括生成表查询、删除查询、更新查询、追加查询等。
3.5.1生成表查询
生成表查询是利用一个或多个表中的全部或部分数据创建新表。
将查询结果生成一个新表。
例3.15将成绩在90分以上的学生的基本信息,包括学号,姓名,性别,存储到一个新表中。
3.5.2删除查询
从一个或多个表中删除指定的数据。
例3.16将student表中英语成绩不及格的记录删除。
自动删除表中符合条件的记录;
(1)设计视图,添加数据源;
(2)设置查询类型为删除查询;
(3)字段行添加构成删除准则的字段,并指定其“删除”行值为“Where”;
(4)设置删除准则;
(5)保存。
如果删除的记录来自多个表,必须满足以下几点:
(1)在“关系”窗口中定义相关表之间的关系。
(2)在“关系”对话框中选中“实施参照完整性”复选框
(3)在“关系”对话框中选中“级联删除相关记录”复选框
3.5.3更新查询
对一个或多个表中的记录进行更新。
根据某种规则自动对表中符合条件的数据进行更新。
例、3.17将教师表中2005年之前参加工作的教师的职称改为副教授。
(1)设计视图,添加数据源;
(2)设置查询类型为更新查询;
(3)添加需要更新的字段,并在更新到行指定更新值;
(4)添加更新准则字段,并在“准则”行设置其更新准则;
(5)保存。
3.5.4追加查询
从一个或多个表中将一组记录追加到另一个或多个表中。
例3.18将选课成绩80-90分之间的学生信息添加到“90分以上学生信息”表中。
将查询结果添加到另一表尾部。
(1)设计视图,添加数据源;
(2)添加查询(所要追加的)字段;
(3)设置查询条件(所追加记录的条件)
(4)设置查询类型为追加查询,并指定追加到的表;
(5)保存。
注意:
所要追加的字段可以来源于多个表 或是计算字段,但必须是目标表中 已经存在的字段。
注意:
无论哪一种操作查询,都可以在一个操作中更改许多记录,并且在执行操作查询后,不能撤消刚刚做过的更改操作。
因此在执行操作查询之前,最好单击工具栏上的“视图”按钮,预览即将更改的记录。
另外,在使用操作查询之前,应该备份数据。
3.6创建SQL查询
3.6.1查询与SQL视图
在Access中,一个查询都对应着一个SQL语句,查询对象的实质是一条SQL语句。
当使用设计视图建立一个查询时,Access在后台就会构造一个等价的SQL语句。
打开SQL视图的方法是:
先打开查询设计视图,然后选择“视图”菜单中的SQL视图命令,或单击工具栏中的视图按钮右侧的向下箭头按钮,从下拉列表中选择”SQL视图选项。
3.6.2SQL语言简介
SQL(StructuredQueryLanguage,结构化查询语言)是数据库领域中应用最为广泛的数据库查询语言。
SQL的特点:
SQL是一种一体化语言,包括数据定义、数据查询、数据操纵和数据控制等方面的功能,可以完成数据库活动中的全部工作。
SQL是一种高度非过程化语言,只需描述“做什么”,不需说明“怎么做”。
SQL是一种非常简单的语言,他所使用的语句很接近于自然语言,易于学习和掌握。
SQL是一个共享语言,全面支持客户机/服务器结构。
SQL语句完成数据定义、数据查询、数据操纵和数据控制的核心功能只用9个动词
SQL语句的功能包括:
查询、操纵、定义和控制。
SQL功能
动词
SQL功能
动词
数据定义
CREATE,DROP,ALTER
数据查询
SELECT
数据操作
INSTER,UPDATE,DELETE
数据控制
CRANT,REVOTE
1.CREATE语句
格式:
CREATETABLE<表名>
(<字段名1><数据类型>[列完整性约束条件],
[<字段名2><数据类型>[列完整性约束条件]]……)
符号描述:
<>表示在实际的语句中要采用实际需要的内容进行替代
[]表示可以根据需要进行选择,也可以不选
|表示多项选项只能选择其中之一
{}表示必选项
例3.19建立一个“雇员”表,包括雇员号、姓名、性别、出生日期、部门,备注字段。
CREATETABLE雇员
(雇员号SMALLINTPrimaryKey,
姓名CHAR(4)NotNull,
性别CHAR
(1),
出生日期DATE,
部门CHAR(20),
备注MEMO
);
2.ALTER语句
使用ALTERTABLE语句修改已建表的结构
格式:
ALTERTABLE<表名>
[ADD<新字段名><数据类型>[字段级完整性约束条件]]
[DROP[<字段名>]…….]
[ALTER<字段名><数据类型>]
其中,<表名>是指需要修改的表的名字,
ADD子句用于增加新字段和该字段的完整性约束条件
DROP子句用于删除指定的字段
ALTER子句用于修改原有字段属性。
例3.20在“雇员”表中增加一个字段,字段名为“职务”,数据类型为“文本”;将“备注”字段删除;将“雇员号”字段的数据类型改为文本型,字段大小为8。
(1)添加新字段的SQL语句为:
ALTERTABLE雇员ADD职务CHAR(10);
(2)删除“备注”字段的SQL语句为:
ALTERTABLE雇员DROP备注;
(3)修改“雇员号”字段属性的SQL语句为:
ALTERTABLE雇员ALTER雇员号CHAR(8);
3.DROP语句
DROPTABLE语句删除表
格式:
DROPTABLE<表名>
例3.21删除已建立的“雇员”表
DROPTABLE雇员;
4.INSERT语句
格式:
INSERTINTO<表名>[(<属性名1>[,<属性名2>…])]
VALUES(<常量1>)[,<常量2>]…);
例3.22将一条新记录插入到“雇员”表中
INSERTINTO雇员VALUES("0001","张磊","男",#1960-1-1#,"办公室","济南");
例3.23将一条新记录插入到“雇员”表中,其中“雇员号”为“0002”,“姓名”为“王宏”,“性别”为“男”
INSERTINTO雇员(雇员号,姓名,性别)VALUES("0002","王宏","男");
注意:
文本数据应用双引号括起来。
日期数据应用“#”号括起来。
5.UPDATE语句
UPDATE语句实现数据的更新功能,能够对指定表所有记录或满足条件的记录进行更新操作。
该语句的格式为:
格式:
UPDATE<表名>
SET<列