ACESS第三章 查询_第1页
ACESS第三章 查询_第2页
ACESS第三章 查询_第3页
ACESS第三章 查询_第4页
ACESS第三章 查询_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第三章 使用查询搜索信息,本章学习目的,了解查询的功能和分类 根据给定的条件建立查询准则 通过向导及设计视图创建并修改查询 通过查询对数据表进行操作 掌握SQL的概念及使用方法,建立SQL查询,3.1 查询概述,一、什么是查询 要求数据库按给定的要求(条件、范围以及方式等)从指定的数据源中查找,提取指定的字段,返回一个新的数据集合 查询的结果可以看成是一个简化的数据表 查询的结果逻辑地保存在数据库中,并随数据表中数据的变化而变化,查询的功能: 选择字段和记录 修改记录 统计与计算 建立新表 为其它数据库对象提供数据源 二、查询的类型 1. 选择查询 2. 交叉表查询 3. 参数查询 4. 操作

2、查询 5. SQL查询,3.2 设置查询条件,运算符、常量、函数以及字段名和属性等的组合 一、运算符 运算符是组成查询准则的基本元素 算术运算符 关系运算符 逻辑运算符 特殊运算符 连接运算符,1、算术运算符 加法(+)、减法(-)、乘法(*)、除法(/)、 整除()、指数()、取模/取余(Mod)七种 2、关系运算符 等于(=)、不等于()、小于()以及大于等于(=) 关系运算的结果为逻辑值(True,False),例如: 12 结果为True 1 2 结果为False,关系运算符建立关系表达式,例如: 男同学: xb= “男” 入学成绩不低于500: rxcj=500 表达式书写原则: 日

3、期型数据必须用#括起来 文本型数据必须用半角的引号括起来 字段名必须写用括起来,3、逻辑运算符 And(与)、Or(或)和Not(取反),例如:女党员 (xb= “女” ) And (zzmm=“党员”),4、特殊运算符,例如:姓赵或姓钱的同学 xm Like “赵钱 *”,5、连接运算符 有 + 和 & 两种 (1)+ 表达式:字符串表达式1 + 字符串表达式2 表示将两个字符串连接成一个字符串 (2)& 表达式:表达式1 & 表达式2 如果连接的是数字,则在数字的前后都加一个空格 如果连接的是字符串,作用与“+”相同 例如: “一二三”+“四” = “一二三四” “一二三”&“四” = “

4、一二三四” “一二三”&4 = “一二三 4 ”,6、运算符的优先级 (1)数学 连接运算符 关系 布尔 (2) ( ) ( * / ) ( ) ( mod ) ( + - ) (3)关系运算符的级别相同 (4)Not And Or 例:1+132*45 And 4211 结果为False,二、函数 函数就是一个预先编制好的程序块 格式:函数(参数) 例如: Avg(参数) 求平均值 Sum(参数) 求和 Abs (参数) 求绝对值 Int (参数) 取不大于参数的整数 Fix (参数) 取整 Len (参数) 取字符串的长度 Right (参数) 取右子串 Date (参数) 返回日期,3.

5、3 使用向导创建查询,查询的数据源可以是一个表或查询 也可以是多个表或查询 只能创建简单的不带条件的查询 一、创建简单的选择查询 操作步骤: 选择简单查询向导 添加字段 保存并观察查询结果 例: 按照不同的课程统计平均分、最高分、最低分,二、 “查找重复项查询向导”创建查询 操作步骤 选择查找重复项查询向导 选择要查找的重复字段 选择查询要显示的其它字段 保存并运行查询 例:在学生基本信息表中,创建查询,显示具有相同民族 和入学成绩的学生的姓名和联系方式。,三、“查找不匹配项查询向导”创建查询 操作步骤 选择查找不匹配项查询向导 选择数据源和包含相关记录的表或查询 确定匹配字段 确定输出字段

6、保存查询并显示结果 例:在高校学生管理数据库中查找本学期没有开课的教 师的姓名、性别、参加工作时间、职称、学位和所 在系,将该查询以“无开课记录查询”的名字保存。,3.4使用设计视图创建或修改查询,一、选择查询 用于浏览、检索、筛选和汇总数据库中的数据 在查询中增加字段进行汇总和计算 例:创建选择查询,查找并显示学生基本信息表中志愿 者或女党员的同学信息。查询结果显示学号、姓名、 性别、志愿者否、班级名称以及班主任,并将该查 询以“志愿者或女党员查询”的名字保存。 例:创建一个余额查询。该查询显示原学生费用表中的 所有字段和学生姓名,计算并显示每个学生的账目 余额,将其按降序排列输出。其中余额

7、是学生费用 表中各字段计算的结果。 例:在高校学生管理数据库中,创建“课时统计”查询,查 询每位教师所任的课程门数和总课时。,二、交叉表查询 以某一字段的取值作为表的行标题 以另一字段的取值作为列标题 在行和列的交叉点处获得数据的汇总信息,例:创建一个如图3-25所示的学生各门成绩统计的查询。,三、参数查询 在查询准则中确定一个参数 其参数值在运行查询时由用户输入 系统根据给定的参数值,确定查询结果 具有极大的灵活性 参数查询常作为窗体、报表及数据访问页的数据源 例:创建查询,当用户从键盘输入 学生的学号或姓名时,显示相应学 生的联系情况,包括学生的学号、 姓名、性别、班级名称、联系方 式、班

8、主任及所在系等。,四、修改已创建的查询 1、对查询中字段的编辑 (1)增加/删除字段 (2)调整字段顺序 (3)选择排序字段 2、编辑查询的数据源,3.5 创建操作数据表的查询,能够完成某些特定操作的查询 对原数据表进行更新、追加、删除等操作 一、生成表查询 根据已有的数据表创建新的数据表,应该首先选择 使用生成表查询 例:现要生成一个保存2008级学生基本信息的表,即要 求根据学生基本信息表生成新表,新表中除了包含 学生基本信息表中所有字段外,增加一个年级字段。,二、追加查询 将一个或多个表中符合条件的记录追加到另一个表的 末尾,创建追加查询时,被追加的表必须已经存在。 例:将已毕业(四年制

9、)的学生信息添加到毕业生信息 表中,显示毕业学生的学号、姓名、性别、班级名 称、入学时间及毕业时间。 三、更新查询 数据表中的某些数据,需要有规律地成批替换 若两个表之间建立了级联更新,当主键更新时,其关联表中的记录也需更新 如果更新的是主键时,则应注意主键不能重复操作步骤 例: 将2009级学生的奖学金上调10%。,四、删除查询 从一个或多个表中删除符合条件的记录 删除记录之后,不能再撤销这个操作 例:删除学生基本信息表中某学生记录,该学生的学号 在执行查询时由用户通过键盘输入。 注意:如果两表建立了一对多关系,应首先删除多端数 据,再删除一端数据。如果建立了级联删除,那 么删除一端数据同时

10、也会删除多端数据。,3.6 创建SQL查询,SQL查询是通过编写SQL语句创建的查询 视图查询最终都由Access翻译成等价的SQL语句,系统才能执行 视图查询可通过SQL视图查看、修改查询 SQL查询主要包括数据定义查询、联合查询、传递查询和子查询等 设计视图 视图 SQL视图,一、基本SQL语句 1、SQL定义语句 (1)定义关系(数据表)的SQL语句 CREATE TABLE 表名(字段名1 字段类型1,字段名2 字段类型2, PRIMARY KEY (字段名) 有字段长度的字段要同时定义其长度 例:在数据库系统中增加一个新的表,命名为业绩。 包含3个字段,“编号”、“姓名”、“是否合格

11、”。以 “编号”为主键。 CREATE TABLE 业绩 (编号 text (7),姓名 text (10),是否合格 logical,PRIMARY KEY (编号),(2)增加字段的SQL语句 ALTER TABLE 表名 ADD 字段名 字段类型 例: ALTER TABLE 业绩 ADD 性别 text(1) (3)删除字段的SQL语句 ALTER TABLE 表名 DROP 字段名 ALTER TABLE 业绩 DROP 性别 (4)删除关系(数据表)的SQL语句 DROP TABLE 表名 DROP TABLE 业绩,2、SQL查询语句 SELECT DISTINCT 查询目标1,

12、查询目标2, FROM 表名1,表名2, WHERE GROUP BY HAVING ORDER BY 排序方法1 , 排序方法2 ,例:查询所有1996年以后参加工作的男教师的信息, 显示其教师号、姓名、工作时间等内容。 分析:本题的查询目标是教师表中的jsh, xm, gzsj等三 个字段的值;查询的数据源是教师表;查询的 条件是“性别是男”并且“1996年以后参加工作”。 相应的SELECT语句如下: SELECT 教师表.jsh, 教师表.xm , 教师表.gzsj FROM 教师表 WHERE 教师表.xb=男 AND Year(教师表.gzsj) =1996,例:学生基本信息为数据

13、源,统计各民族学生的人数。 分析:本题的查询目标是计算不同民族学生的人数, 涉及到学生基本信息表中的mz, xh等字段的值; 查询的数据源是学生基本信息表;需要根据mz 进行分组统计,统计的对象是同一个民族的不 同学号的记录。相应的SELECT语句如 SELECT 学生基本信息表.mz, Count(学生基本信息 表.xh) AS 人数 FROM 学生基本信息表 GROUP BY 学生基本信息表.mz,例:查找并显示信息工程系的所有学生的学号和姓名。 SELECT 学生基本信息表.xh, 学生基本信息表.xm FROM 系部表 INNER JOIN (班级表 INNER JOIN 学生基本信息表 ON 班级表.bjmc = 学生基 本信息表.bjmc) ON 系部表.xihao = 班级 表.szx WHERE 系部表.xbmc=信息工程,3、SQL数据操作语句 (1)插入记录 INSERT INTO 表名 (字段名列表) VALUES (数据列表) 例:若某校新成立了教研中心,其部门编号为2442, 联系电话为3511048,试将该部门有关的信息添 加到表department中。 INSERT INTO DEPARTMENT(bmbh,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论