access如何保存小数点后_13、ACCESS简单查询设计(投影与选择)(ACCESS图解操作系列)...

操作要求:

在ACCESS数据库“教学管理.accdb”,其中有四个表:“教师”、“学生”、“课程”、“选课成绩”。其中教师表中信息如下图所示。

2532f4e57da50a79902de9da4b7fbb8e.png

1、创建“教师工作时间-姓名-职称查询”。要求以教师表为数据源,查询在1990年到1995年之间参加工作的、姓张的、职称不为空的教师信息,结果显示所有字段。

2、创建“数学系-计算机系-教师查询”。以教师表为数据源,查询数学系或计算机系的教师信息。结果显示下面字段:教师编号、姓名、性别、工作时间、职称、系别。其中“姓名”重命名为“教师姓名”。

3、创建“学生-课程-选课成绩-不及格查询”。以学生、选课成绩、课程为数据源,建立一多表查询,选出成绩<60分的记录。要求结果显示“学生编号”、“姓名”、“课程名称”、“学分”、“成绩”五个字段信息

知识要点:

1、设计查询的基本方法

2、查询设计视图的组成,以及使用

3、单表查询、多表查询、条件and和or的设置

4、字段中"*"号的作用(代表表的所有字段),字段重命名方法(新字段名称:原字段名)

知识点说明:

查询是利用数据库中存储的海量数据获取信息的主要方法与技术,同时也是对数据库数据进行操纵的手段。我们通常使用标准SQL(结构化查询语言)对数据库进行维护与管理。而ACCESS为了方便客户使用,避免客户掌握SQL大量相关语法;从而利用ACCESS中的查询对象,通过可视化设计界面完成查询的设计,在内部将设计转换为SQL语句。查询相关理论知识同学们请参见内部教程或课件。

所以本部分首先简单介绍SQL的查询语句Select。然后通过示例演示查询设计时跟Select语句的关系。请同学们务必要认真阅读下面知识,以便于培养查询的设计能力,能举一反三,而不是记忆大量查询示例。

SELECT的基本语法:

SELECT [ALL /DISTINCT] [,< 目标字段或表达式>]…

FROM [,< 表名或视图名>]…

[WHERE ]

[GROUP BY [ HAING< 条件表达式>]]

[ORDER BY< 列名2> {ASC/ DESC}]

其中<>表示在实际的语句中要采用所需内容进行代替

[]表示可以根据需要进行选择,也可以不选

{}表示必选项

Select语句主要采用自然英语,通过描述任务而得到最终结果。即:

1、从(From)哪些数据源或表(表名跟在from后面)中

2、选择出满足一定条件(where后语句)的记录

3、显示记录中指定的字段(select后字段列表)

4、显示的数据是否要排序,按哪些字段如何排序(order by 完成。ASC升序,DESC降序,默认为ASC)

5、在选择数据时是否要分组,按什么字段分组(group by)

6、对选择出的记录,是否要消除重复记录(DISTINCT)

上述步骤,也是我们设计任何查询时要遵循的。如果同学们每次面对一个查询,都能这样思考,进行自主设计,那么任何查询都是相对简单的。在本节的三个示例中,我们都将首先分析设计方法,在给出查询示例来进行讲解。希望同学们自己先分析设计,独立思考一下。


1、查询设计视图及工具栏。

创建查询,最常用也是最重要的方法就是利用“设计视图”来完成。对于后续要讲到的“交叉表查询”而言,使用“交叉表查询向导”要更有效一些。打开设计视图的方法如下:

(1)在数据库对象窗口选择“查询”对象→右侧双击“在设计视图中创建查询”(下1图)。

(2)“新建”→“设计视图”(下2图)。

e4745f05c49e030a7d1b5eaa5a1b9324.png
b7261211d7dc4373c394bd1d285e15a2.png

打开如下的查询设计视图。其上部分为数据源,下部分为设计网格。查询设计视图中设计查询的基本步骤如下:

(1)添加数据源:将查询要求中(条件中、显示中)所涉及到的数据源(表或查询)添加到数据源区域(如下图是课程、选课成绩、学生)

(2)添加字段:在设计网格中的“字段”行添加所有涉及到的字段(要求显示的和作为条件的)。

(3)确定字段出处:如果是多表查询(即数据源有多个表或查询构成)应指定字段来自于那个表,因为可能在多个表中有同名字段。

(4)排序:按题目要求对相关字段设定排序方式。

(5)显示:决定字段是否显示。这里要注意的是,我们不一定显示所有的字段。可以让一些字段仅仅作为条件出现,而不与显示

(6)设定条件:设计网格的“条件”行输入用于选择的条件,若该行多个字段都设定了条件,则条件之间是AND关系;而在”或“行设定的条件之间是OR关系。

66450fc6af8d21fc24ac8346b9c4588d.gif

进入查询设计视图后,上方的工具栏如下。其中最为重要的快捷按钮描述如下:

(1)视图方式:有三个选项,“设计视图”(显示如上图的查询设计界面)、“数据表视图”(显示查询作用于数据的结果,可用于查看查询是否正确)、“SQL视图”(显示当前查询的SQL语句)

(2)选择查询类型:当我们要设计一下特殊查询时,需要先在“选择查询类型”选定查询类型,查询设计视图能相应的变化。

(3)运行查询:对于一般查询该按钮并不重要,因为可以通过“数据表视图”来查看结果;但操作查询必须使用“运行查询”才能真正对操作的基础数据进行更改。

(4)表达式生成器:可以帮助同学们输入条件。

2f740d6920b0c901125e7daaa1d9ddc9.gif

2、创建“教师工作时间-姓名-职称查询”。

要求以教师表为数据源,查询在1990年到1995年之间参加工作的、姓张的、职称不为空的教师信息,结果显示所有字段。

查询设计分析:

(1)数据源为“教师”表。

(2)用于进行选择的条件有三个:工作时间在1990到1995之间、姓名第一字为“张”、职称不为空,三者之间是AND关系。

(3)要显示的字段为数据表中所有字段。

(4)通过题意,没有统计相关计算,所以不需要分组;也没要求排序

在设计视图设计(如下图):

(1)在数据源区添加“教师”表

(2)将表中所有字段都添加的“字段”行,并选择“显示”打勾(默认状态)

(3)在参与条件的字段的“条件”行输入条件表达式

85b9a92e8c30a5a49369f1e6685e2264.png

查看结果是否正确,保存查询。设计好查询后,点击“数据表视图”查看查询结果(如下图1);如果正确,则保存并指定查询名。

6139af17f7a38077c490baba545f7fa8.png
ef5063f7be77cd1aaa987a53cce7d409.png

上述查询还可以如下图设计。下面设计要点:

(1)利用“*”表示表中的所有字段。

(2)视图中的姓名、工作时间、职称字段仅用于构成条件,所以不于显示。(如果再显示的话,则结果中就会重复了)

f6906b21d8222f36d91e052fe8d6fe91.png

在上述查询中的条件表达式,还可以有很多种写法,请同学参看内部教程查询中的表达式部分,下面仅简单举例。

(1)判断姓张:left([姓名],1)="张"、mid([姓名],1,1)="张"

(2)在1990到1995参加工作:year([工作时间]) between 1990 and 1995 、[工作时间]>=#1990-1-1# and [工作时间]<=#1995-12-31#

(3)职称不为空:对于空NULL。只能用两种表达式来比较,is null(为空)、is not null(不为空)

其中,视图中like "张*",即利用“like+通配符”来匹配文本串的方法,很多地方又称之为“模糊查询”。


3、创建“数学系-计算机系-教师查询”。

以教师表为数据源,查询数学系或计算机系的教师信息。结果显示下面字段:教师编号、姓名、性别、工作时间、职称、系别。其中“姓名”重命名为“教师姓名”。(演示条件OR设计,字段重命名)

查询设计分析:

(1)数据源为“教师”表。

(2)用于进行选择的条件有两个:系别为数据系、系别为计算机系,两者之间为OR关系(注意如何建立)

(3)要显示的字段:教师编号、姓名、性别、工作时间、职称、系别

(4)要求将“姓名”重命名为“教师姓名”(如何设计)

在设计视图设计(如下图):

(1)在数据源区添加“教师”表

(2)将表中教师编号、姓名、性别、工作时间、职称、系别字段都添加的“字段”行,并选择“显示”打勾(默认状态)

(3)在系别字段的“条件”行输入“数学”,在“或”行输入“计算机”

(4)重命名字段方法:“新字段名称:原字段名”,如下图中 教师姓名:姓名

0f06c25cc475058f7e190c6d1783b628.png

查看结果是否正确,保存查询。设计好查询后,点击“数据表视图”查看查询结果(如下图1);如果正确,则保存并指定查询名。

注意下图中,“姓名”字段的标题变为了“教师姓名”。

679f5484d75e18bff946bc6681299fce.png
5838beb7b867b8d67ffe3eb1e5cce69a.png

说明:本例是为了演示如何设计多个条件为OR情况下的查询,所以在条件分析时,做如上分析。事实上,我们也可以看做一个条件,书写如下:

[系别]="数学" or [系别]="计算机"、[系别] in ("数学

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值