计算机软件及应用数据库查询.pptx
《计算机软件及应用数据库查询.pptx》由会员分享,可在线阅读,更多相关《计算机软件及应用数据库查询.pptx(115页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.1 4.1 查询概述查询概述 在 Access 数据库中,表是存储数据的最基本的数据库对象,而查询则是对表中的数据进行检索、统计、分析、查看和更改的又一个非常重要的数据库对象。一个查询对象实际上是一个查询命令,实质上它是一个SQL 语句。运行一个查询对象实质上就是执行该查询中规定的SQL 命令。简单来说,表是将数据(根据规范化的要求)进行了分割,而查询则是从不同的表中抽取数据并组合成一个动态数据表。查询可以从多个表中查找到满足条件的记录组成一个动态数据表,并以数据表视图的方式显示。第1页/共115页 查询结果仅仅是一个临时的动态数据表,当关闭查询的数据表视图时,保存的是查询的结构,并不保存
2、该查询结果的动态数据表。表和查询都是查询的数据源,表和查询也是窗体、报表、数据访问页的数据源。建立查询之前,一定要先建立表与表之间的关系。第2页/共115页查询的类型查询的类型查询的类型查询的类型 在 Access 中,提供有如下五种类型的 查询:选择查询 参数查询 交叉表查询 操作查询 SQL 查询第3页/共115页 1 1 1 1选择查询选择查询选择查询选择查询 选择查询是最常见的查询类型,它从一个或多个表中检索数据,并且在“数据表视图”中显示结果。也可以使用选择查询来对记录进行分组,并且对记录作总计、计数、平均值以及其他类型的总和计算。查询结果仅仅是一个临时的动态数据表。例4-1 在“学
3、生管理系统”数据库中“学生”表里,查找出1986年后(含1986)出生的女学生。使用查询的“设计视图”创建出该查询(该查询名为“例4-1”),其设计视图如图4-1所示。当运行“例4-1”查询时,以“数据表”视图方式显示出该查询的结果,如图4-2所示。第4页/共115页图4-2 例4-1查询结果 第5页/共115页2 2参数查询参数查询 参数查询是这样一种查询,它在运行时先显示自己参数查询是这样一种查询,它在运行时先显示自己的的“输入参数值输入参数值”对话框,提示用户在该对话框中输入对话框,提示用户在该对话框中输入查询条件的值,然后,根据用户输入条件去执行查询命查询条件的值,然后,根据用户输入条
4、件去执行查询命令,检索出满足条件的记录。令,检索出满足条件的记录。例例4-24-2 在在“学生管理系统学生管理系统”数据库的数据库的“修课成绩修课成绩”表表里,根据临时输入的里,根据临时输入的“学号学号”查找出该学生的各课程的查找出该学生的各课程的成绩。使用查询的成绩。使用查询的“设计视图设计视图”创建出该查询(该查询创建出该查询(该查询名为名为“例例4-2”4-2”),当运行),当运行“例例4-2”4-2”查询时,显示出查询时,显示出“输入输入参数值参数值”的对话框,如图的对话框,如图4-34-3所示。所示。第6页/共115页3 3 3 3交叉表查询交叉表查询交叉表查询交叉表查询 使用交叉表
5、查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。交叉表查询可以计算数据的总计、平均值、计数或其他类型的总和,这种数据可分为两组信息:一类在数据表左侧排列,另一类在数据表的顶端。例4-3 在“学生管理系统”数据库的“学生”表中,统计出各班男、女学生的人数。使用查询的“设计视图”创建出该查询(该查询名为“例4-3”),当运行“例4-3”交叉表查询时,以“数据表”视图方式显示出该交叉表查询的结果,如图4-4所示。第7页/共115页4 4 4 4操作查询操作查询操作查询操作查询 操作查询是这样一种查询,使用这种查询只需进行一次操作就可对许多记录进行更改和移动。有如下四种操作查询:生成表查
6、询 追加查询 更新查询 删除查询。第8页/共115页5 5SQL SQL 查询查询 SQL查询是用户使用 SQL 语句创建的查询。可以用结构化查询语言(SQL)来查询、更新和管理 Access 这样的关系数据库。在查询的“设计视图”中创建查询时,Access 将在后台构造等效的 SQL 语句。可以在“SQL 视图”中查看和编辑 SQL 语句。但是,在对 SQL 视图中的查询做更改之后,查询可能无法以以前在“设计视图”中所显示的方式进行显示。有一些 SQL 查询,称为“SQL 特定查询”,无法在“设计视图”的设计网格中进行创建,如传递查询、数据定义查询和联合查询,都必须直接在“SQL 视图”中创
7、建 SQL 语句。图4-5 例4-1查询的“SQL视图”第9页/共115页4.1.4.1.2 2 创建查询的方法创建查询的方法 图4-6 列出二种创建查询的方法图4-7 “新建查询”对话框显出五种创建查询方法 注意:(1)“在设计视图中创建查询”方法与右图“设计视图”方法相同。(2)“使用向导创建查询”方法与右图“简单查询向导”方法相同。第10页/共115页4.2 4.2 创建选择查询创建选择查询 选择查询的功能是从一个或多个表中检索数据,并且在“数据表视图”中显示结果。查询结果仅仅是一个临时的动态数据表。第11页/共115页使用向导创建查询使用向导创建查询使用向导创建查询使用向导创建查询 A
8、ccess提供了向导功能以帮助用户方便快速创建简单的查询对象。使用向导创建查询对象的步骤如例4-4 和例4-5 所述。例4-4 在“学生管理系统”数据库中,用“学生”表创建一个名为“例4-4学生高考总分查询”的查询。该查询只要求显示学号、姓名、性别和高考总分四个字段。例4-5 在“学生管理系统”数据库中,用“学生”表创建一个名为:“例4-5男女学生平均高考总分查询”的查询。第12页/共115页 使用设计视图创建查询不仅可以设计创建单个表的查询,而且还可以设计创建涉及多个表的查询。在查询“设计视图”中,还可指定复杂的查询条件以满足复杂查询的需要。查询的“设计视图”窗口分为上、下两部分,上半部分称
9、为“字段列表”区,显示所选定的表或查询(注意:查询也可作为查询的数据源)的所有字段。下半部分称为“设计网格”区,用于确定查询结果动态集所拥有的字段、排序和检索条件等。第13页/共115页 在“设计网格”中需要设置如下内容:1)字段:设置查询所涉及的字段。2)表:字段所属的表。3)排序:查询的排序准则(如升序或降序)。4)显示:当复选框选中时,字段将在查询结果中显出,否则,在查询结果中不显出。5)条件:设置检索记录的条件(也称为准则)。6)或:设置检索记录的条件(也称为准则)。第14页/共115页在设计视图中创建查询在设计视图中创建查询(例(例4-6 4-6)例4-6 在“学生管理系统”数据库中
10、,使用“在设计视图中创建查询”方法,创建一个名为“例4-6查询高考总分750分以上的女生”的查询。查询要求是:对“学生”表,检索高考总分750分以上(含750)的女学生的记录,并要求按高考总分降序进行排序,仅要求显示学号、姓名、班级号、性别和高考总分五个字段。第15页/共115页4.3 4.3 查询的运行和修改查询的运行和修改 运行查询实际上就是打开该查询的“数据表”视图窗口,以表格形式显出该查询结果的动态集记录数据。修改查询实际上就是打开该查询的“设计视图”窗口,对查询所涉及的字段及条件等进行修改。第16页/共115页 运行查询的六种基本方法:(1)在查询“设计视图”窗口,直接单击Acces
11、s窗口工具栏上的“运行”按钮。(2)在查询“设计视图”窗口,直接单击Access窗口工具栏上的“视图”按钮。(3)在查询“设计视图”窗口,单击Access窗口“查询”菜单中的“运行”命令。(4)在查询“设计视图”窗口,单击Access窗口“视图”菜单中的“数据表视图”。(5)在数据库窗口,双击查询对象列表中要运行的查询名称。(6)在数据库窗口,首先选择查询对象列表中要运行的查询名称,然后单击数据库窗口中的“打开”按钮。此外还有在“宏”中运行查询的方法,在“模块”中运行查询的方法等。第17页/共115页 修改查询设计即是打开某个查询的“设计视图”窗口,进行各种更改。如果所需的数据不在查询中,可以
12、添加一个表或查询,或者如果决定不需要某个表或查询,也可以将其删除。添加了所需的表或查询后,就可以在“设计网格”中添加要使用的字段,在决定不需要这些字段时可以将其删除。或者如果查询结果需要按某些字段排序,可对这些字段排序分别进行排序设置。也可通过把鼠标指针移到某字段“列选定器”的右边界,使鼠标指针变成双箭头时拖动鼠标的方法来调整查询的列宽等等。第18页/共115页例例4-7 4-7(修改查询设计修改查询设计 的例子)的例子)例4-7 在“学生管理系统”数据库中,对已经创建好的名为“例4-6查询高考总分750分以上的女生”的查询对象进行“复制”操作、“粘贴”操作,产生出一个新的名为“例4-7查询高
13、考总分750分以上的学生”查询。然后对新建的“例4-7查询高考总分750分以上的学生”查询的设计按如下要求进行修改,该查询要求是:检索高考总分750分以上(含750)的学生记录,并要求按“性别”升序、“高考总分”降序对查询结果的记录进行排序(即先按“性别”字段值升序排序,当“性别”字段值相同时再按“高考总分”字段值降序排序),并要求显示学号、姓名、班级名称、性别和高考总分五个字段。提示:对于要求显示“班级名称”字段,故需要先在该查询的“设计视图”窗口中添加“班级”表,然后,在“设计网格”区,把原来的“学生”表的“班级号”字段更改为“班级”表的“班级名称”字段。其他更改按查询要求进行相应的设置。
14、第19页/共115页例例4-7 4-7(续(续)修改前修改后第20页/共115页4.4 4.4 查询条件的设置查询条件的设置 创建查询时,通过对字段添加限制条件,使查询结果中只包含满足查询条件的数据。第21页/共115页表达式表达式 在查询的“设计视图”中,若要对“设计网格”区中的某个字段指定条件,就可在该字段的“条件”单元格中直接输入一个表达式。表达式是运算符、常数、函数和字段名称等的任意组合。表达式可执行计算,其计算结果为单个值。对于较复杂的表达式,当光标处于该字段的“条件”单元格时,单击工具栏中的“生成器”按钮,打开表达式生成器,在表达式生成器中构造表达式,如图4-31所示。在输入表达式
15、时,除了汉字以外,其他所有字符必须是在英文输入法状态下输入。第22页/共115页 对于较复杂的表达式,当光标处于该字段的“条件”单元格时,单击工具栏中的“生成器”按钮,打开表达式生成器,在表达式生成器中构造表达式,如图4-32所示。第23页/共115页 在输入表达式时,除了汉字以外,其他所有字符必须是(在英文输入法状态下输入的)英文字符。例如,在表达式中,象“.”、“”、“(”、“)”、“”、“”、“”、“”、“%”、“#”、“*”、“?”和“!”等字符必须是英文字符。注意:在表达式中,字符串常量要用两个英文的双引号括起来,也可用两个英文的单引号括起来,例如,男、李*。日期常量要用两个英文的#
16、号括起来,例如,#1985-12-31#。此外,在查询的“设计视图”中,单击“视图”菜单中的“SQL视图”命令,显出该查询的“SQL视图”。在该“SQL视图”中,查询条件是通过Where 子句中的条件表达式来描述。从设计视图的“设计网格”中的的查询条件设置转换到“SQL视图”中的查询条件设置的工作,是由Access数据库管理系统自动翻译完成的。第24页/共115页例例4-8 4-8(表达式表达式例子)例子)例4-8 查询1986年出生的学生。在该查询的“设计网格”中的“出生日期”字段的“条件”单元格中,设置的表达式是 Between#1986-1-1#And#1986-12-31#,如图4-3
17、2所示。图4-32 在“条件”单元格中直接输入一个表达式示例第25页/共115页 对于比较运算符来说,要比较的数据的数据类型必须匹配。也就是说,文本只能与文本比较,数字只能与数字比较,等等。可以使用函数临时将数据转换为其他数据类型,然后再作比较。比较运算符的含义、示例等信息如表4-1所示。第26页/共115页表4-1 比较运算符 第27页/共115页 使用下表中列出的标准逻辑运算符,可以组合或修改搜索条使用下表中列出的标准逻辑运算符,可以组合或修改搜索条件。逻辑运算符的优先级从高到低依次是件。逻辑运算符的优先级从高到低依次是NotNot、AndAnd、OrOr。逻辑。逻辑运算符的含义、示例等信
18、息如表运算符的含义、示例等信息如表4-24-2所示。所示。运算符运算符含义含义SQL 视图窗口示例视图窗口示例Not 条件的逻辑否条件的逻辑否 SELECT*FROM 学生学生 WHERE NOT(性别性别=女女);And 必须同时满足两个条件必须同时满足两个条件 SELECT*FROM 学生学生 WHERE 性别性别=女女 AND 班级号班级号=3;Or 满满 足一个条件即可足一个条件即可 SELECT 学号学号,课程代码课程代码,成绩成绩 FROM 修课成绩修课成绩 WHERE 成绩成绩 90;第28页/共115页运算符运算符含义含义设计网格区示例设计网格区示例SQL 视图窗口示例视图窗口
19、示例 IN测试某值是否出测试某值是否出现在值的列现在值的列表中。表中。或或测试某值是否出测试某值是否出现在一个子现在一个子查询的结果查询的结果集内。集内。In(会计会计,推销员推销员)In(SELECT 学号学号 FROM 修课成绩修课成绩 WHERE 成绩成绩 60)SELECT 职工编号职工编号,姓名姓名,职位职位 FROM 职工基本资料职工基本资料 WHERE 职位职位 In(会计会计,推销员推销员);SELECT 姓名姓名 FROM 学生学生 WHERE 学号学号 In(SELECT 学号学号 FROM 修课成绩修课成绩 WHERE 成绩成绩=#1986-1-1#AND =18SELE
20、CT 学号学号,姓名姓名,性别性别,出生日期出生日期FROM 学生学生WHERE Year(Date()Year(出生日期出生日期)=18;Time()返回当前系统返回当前系统时间。时间。Hour(time)返回返回 0 和和 23 之之间的整数(表间的整数(表示一天中某个示一天中某个小时)。小时)。第35页/共115页 在查询的“设计视图”窗口中的“设计网格”区,“条件”行、“或”条件行以及“或”行下边紧接着的若干空白行的单元格,均可用来设置查询条件的表达式。在查询的“设计网格”区,用户可以在多个字段的“条件”单元格(包括“条件”行的单元格和“或”条件行的单元格等)中设置查询条件的表达式。对
21、于多个字段的“条件”单元格中的表达式,Access数据库管理系统会自动使用 And 运算符或者 Or 运算符去组合这些不同单元格中的表达式,构成一个组合条件,以满足复杂查询的需要。第36页/共115页1 1用用And And 运算符组合条件运算符组合条件 在查询的“设计网格”区,如果仅在同一条件行的不同单元格中设置了条件的表达式,表示这些在不同单元格中设置的条件都必须要同时满足的。Access自动用 And 运算符去组合这一条件行中的不同单元格中的条件表达式,构成一个组合条件,表示要筛选满足该条件行所有(设置了条件的)单元格的条件的记录。第37页/共115页例例4-9 4-9(用用And An
22、d 运算符组合条件运算符组合条件例子)例子)例4-9 查询高考总分750分以上(含750)的男学生的记录。SQL视图设计视图用And 运算符组合条件第38页/共115页2 2用用Or 运算符组合条件运算符组合条件 在查询的“设计网格”区,如果在每一条件行中仅有一个字段的“条件”单元格(包括“条件”行的单元格和“或”条件行的单元格等)设置了查询条件的表达式,那么,对于这些条件行来说,Access会自动使用(一个或多个)Or 运算符去组合这些不同条件行的表达式,构成一个组合条件,表示筛选只要满足任一条件行的“条件”单元格条件的记录。注意,在查询的“设计网格”区,可以在任一字段的“条件”行单元格设置
23、条件的表达式,也可以在任一字段的“或”条件行单元格设置条件的表达式,还可以在任一字段的“或”行下边紧接着的若干空白行的单元格设置条件的表达式。第39页/共115页例例4-10 4-10(用用 Or 运算符组合条件运算符组合条件例子例子 )例4-10 查询高考总分690分以下以及780分以上(含780)的学生记录。SQL视图设计视图图4-35 在同一个字段的不同条件行的条件单元格中设置查询条件用 Or 运算符组合条件第40页/共115页例例4-114-11(用用 Or 运算符组合条件运算符组合条件例子例子 )例4-11 查询高考总分750分以上(含750)的学生以及全部女学生的记录。图4-36
24、在两个不同字段的不同条件行(一字段一条件行)的条件单元格中设置查询条件 设计视图SQL视图用 Or 运算符组合条件第41页/共115页3 3用用And And 和和Or Or 两个运算符组合条件两个运算符组合条件 在查询的“设计网格”区,如果对于若干不同字段的不同条件行的“条件”单元格(包括“条件”行的单元格和“或”条件行的单元格),设置了查询条件的表达式,Access数据库管理系统会自动使用(一个或多个)And 运算符和(一个或多个)Or 运算符去组合这些不同字段的不同条件行的“条件”单元格的表达式,构成一个组合条件,表示筛选只要满足任何一条件行的所有“条件”单元格条件的记录。第42页/共1
25、15页例例4-12 4-12(用(用And And 和和Or Or 两个运算符组合条两个运算符组合条件)件)例4-12 查询高考总分690分以下的男学生以及780分以上(含780)的女学生的记录。图4-38 在二个字段的两条件行的条件单元格中设置查询条件 设计视图SQL视图用 Or 运算符组合条件用 And 运算符组合条件用 And 运算符组合条件第43页/共115页4.5 4.5 设置查询的计算设置查询的计算 要在查询中执行计算,可以在查询“设计”中使用“预定义计算”或“自定义计算”形式来对查询中需要的计算进行相应的设置。预定义计算是Access 通过聚合函数对查询中的分组记录或全部记录进行
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 应用 数据库 查询
限制150内