
第三章 查询ppt课件.ppt
98页第三章查询 马上开始 菜单 本章重点 退出 查询分类 1 选择查询 2 参数查询 3 交叉表查询 4 操作查询 5 SQL查询 创建查询 1 使用向导创建查询 2 使用设计器创建查询 3 在查询中计算 查询准则 1 运算符 2 函数 3 表达式 4操作已经创建的查询 1 运行已创建的查询 2 编辑查询中的字段 3 编辑查询中的数据源 4 排序查询的结果 本章授课内容 退出 3 2创建选择查询 3 1认识查询 3 3创建交叉表查询 3 4创建参数查询 3 5创建操作查询 3 6创建SQL查询 3 7编辑和使用查询 3 1认识查询 3 1 1查询的功能 3 1 2查询的类型 3 1 3查询的条件 3 1 1查询功能 1 选择字段 2 选择记录 3 编辑记录 4 实现计算 5 建立新表 6 建立基于查询的报表和窗体 查询和查找的区别查找只能够找到符合我们需要的一个值 而查询可以找到符合我们需要的一条或者多条记录 查询的结果是以二维表显示 3 1 2查询的类型 1 选择查询 根据指定的查询准则 从一个或者多个表中获取数据并显示结果的一种最常见的查询方式 例如 建立一个查询 要找到 1992年参加工作的男教师 查询结果如下图 3 1 2查询的类型 2 交叉表查询 将来源于某个表的字段进行分组 一组在数据表左侧 一组在数据表上部 然后在数据表行与列的交叉处显示表中某个字段统计值 建立一个查询 要统计 各个系男女教师的人数 查询结果如下图 例如 3 1 2查询的类型 3 参数查询 用对话框来提示用户输入准则的查询 这种查询可以根据用户输入的准则来检索符合相应条件的记录 建立一个查询 要查看 某一个学生的考试成绩 查询结果如下图 例如 3 1 2查询的类型 4 操作查询 在一次查询操作中对所得到的结果进行编辑等操作 一般有以下四种操作查询 生成表查询 删除查询 更新查询 追加查询 将成绩在90分以上的记录找出来并且放到一个新的表中 删除某门课成绩不及格的学生记录 将经济系88年以前工作的教师的职称改为 副教授 将成绩在80到90分的学生记录追加到一个已经存在的表中 例如 3 1 2查询的类型 5 SQL查询 利用SQL语句来创建的一种查询 主要包括四种查询 联合查询 传递查询 数据定义查询 子查询 3 1 3查询的条件 1 条件中的运算符 p74表3 1 3 3 关系运算符 逻辑运算符 And Or Not特殊运算符 In Between Like Isnull Isnotnull In 用于指定一个字段值的列表 列表中的任意一个值都可以与查询的字段相匹配 Between 用于指定一个值的范围 指定的范围之间用And连接 Like 用于指定查找文本字段的字符模式 可以用 通配符 Isnull 用于指定一个字段为空 Isnotnull 用于指定一个字段为非空 3 1 3查询的条件 2 条件中的函数 见p306 P310附录A 1 数值函数 Abs Int Sqr Sgn 等 2 字符函数 Space Left Right Len Ltrim Rtrim Mid 等 例如 3 日期时间函数 Day date Month date Year date Weekday date Hour date Date 等 例如 4 统计函数 Sum Avg Count Max Min 等 3 1 3查询的条件 3 使用数值作为查询条件 见P70表3 4 3 1 3查询的条件 4 使用文本值作为准则 p70表3 5 3 1 3查询的条件 5 使用处理日期结果作为准则 p71表3 6 3 1 3查询的条件 6 使用字段的部分值作为准则 p71表3 7 3 1 3查询的条件 7 使用空值或者空字符串作为准则 p71表3 8 注意 空字符串是用双引号括起来的字符串 且双引号中间没有空格 练习 1 通配符 的含义是 A 通配任意个数的字符B 通配任何单个字符C 通配任意个数的数字字符D 通配任何单个数字字符2 利用对话框提示用户输入查询条件 这样的查询属于 A 选择查询B 参数查询C 操作查询D SQL查询3 在书写查询准则时 日期型数据应该使用适当的分隔符括起来 正确的分隔符是 A B C D D B D 4 若查询某个字段中以字母A开头且以字母Z结尾的所有记录 则条件表达式应设置为 A Like A Z B Like A Z C Like A Z D Like A Z 5 在学生表中建立查询 姓名 字段的查询条件设置为 IsNull 运行该查询后 显示的记录是 A 姓名字段为空的记录B 姓名字段中包含空格的记录C 姓名字段不为空的记录D 姓名字段中不包含空格的记录6 在成绩中要查找成绩 70且成绩 80的学生 正确的条件表达式是 A 成绩Between70And80B 成绩Between70To80C 成绩Between69And81D 成绩Between69To81 练习 C A A 7 条件中 性别 女 and工资额 2000 的意思是 A性别为 女 并且工资额大于2000元的记录B性别为 女 或者工资额大于2000元的记录C性别为 女 并非工资额大于2000元的记录D性别为 女 或者工资额大于2000元 且二者择一的记录 练习 A 8 条件 not工资额 2000 的意思是 A除了工资额 大于2000之外的工资额的记录B工资额大于2000元的记录C并非工资额大于2000元的记录D字段工资额大于2000 且二者择一的记录 C 9 假设数据库表中有一个姓名字段 要查找姓名为张三或李四的记录的条件是 AIN 张三 李四 BLIKE 张三 OR 李四 C 张三 AND 李四 DLIKE 张三 AND 李四 练习 A 10 内部计算函数 Min 的意思是求所在字段内所有的值的 A和B平均值C最小值D第一个值 C 3 2创建选择查询 3 2 1使用查询向导创建 3 2 2使用设计视图创建 3 2 2在查询中进行计算 3 2 1使用查询向导创建 创建 教师查询 要求查找并且显示 教师 表中的 姓名 性别 工作时间 和 系别 四个字段 用向导 例3 1 1 创建基于一个数据源的查询 在向导指示下创建 不能设置查询条件 3 2 1使用查询向导创建 创建 学生选课成绩 查询 要求查询每名学生选课成绩 显示 学生编号 姓名 课程名称 和 成绩 四个字段 例3 2 2 创建基于多个数据源的查询 3 2 2使用设计视图创建 1 查询 设计 视图 可以创建不带条件的查询 也可以创建带条件的查询 字段列表区 设计网格区 3 2 2使用设计视图创建 2 创建不带条件的查询 创建 学生选课成绩 查询 要求查询每名学生选课成绩 显示 学生编号 姓名 课程名称 和 成绩 四个字段 例3 3 3 2 2使用设计视图创建 创建带条件的查询是常见的选择查询 要求对查询字段给予限制条件 查找1992年参加工作的男教师 并且显示 姓名 性别 学历 职称 系别 和 联系 字段 例3 4 1992 1 1 And 1992 12 31 或Between 1992 1 1 And 1992 12 31 或year 工作时间 1992 3 创建带条件的查询 3 2 2使用设计视图创建 查找成绩小于60分的女生 或成绩大于90分的男生 显示 姓名 性别 和 成绩 练习 3 创建带条件的查询 计算机查询的必要性 比如说 要查询学生的平均成绩或者总分成绩 很明显 在我们设计的任何一个数据表中都没有平均分或者总分这两个字段 因此 我们要用到查询计算 在Access中 可以执行很多类型的计算 一般包括 总和 平均值 计数 最大值 最小值 标准偏差和方差等 还可以使用用户自定义计算 3 2 3在查询中进行计算 1 查询计算功能 总计查询就是在成组的记录中完成一定的计算功能 在设计视图中的 总计 行实现 例3 6统计教师人数例3 7统计1992年参加工作的教师人数 Where指定的字段不能出现在查询结果中 3 2 3在查询中进行计算 2 在查询中进行总计 分组总计就是对一个字段进行分组 然后再总计 分组字段的 总计 行设置成 Groupby 例3 8统计 教师表 中各类职称的教师的人数 3 2 3在查询中进行计算 3 分组统计查询 例3 9统计 教师表 中各类职称的教师的人数 要求显示 职称 人数 字段 3 2 3在查询中进行计算 例3 10查找平均分低于所在班级平均分的学生并且显示其 班级 姓名 平均成绩 假设班级号为 学生编号 前八位数 3 2 3在查询中进行计算 4 添加计算字段 3 3创建交叉表查询 3 3 1认识交叉表查询 3 3 2创建交叉表查询 3 3 1认识交叉表查询 所谓的交叉表查询 就是将来源于某一个表 数据表或者查询表 中的字段进行分组 一组在数据表的左侧 一组在数据表的上部 行与列交叉处显示某个字段的计算值 3 3 2创建交叉表查询 创建交叉表查询的方法 使用交叉表向导使用查询设计视图 例3 11在 教学管理 数据库中创建统计每个系别男女教师人数的交叉表查询 用向导创建 思考练习 创建一个交叉表查询 统计每班男女生人数 使用向导创建 3 3 2创建交叉表查询 例3 12创建交叉表查询 使其统计各班男生平均成绩和女生平均成绩 使用设计视图创建 3 4创建参数查询 3 4 1单参数查询 3 4 2多参数查询 3 4 1单参数查询 单参数查询就是在字段中指定一个参数 在执行参数查询的时候 用户再输入一个参数值 为了在运行时让系统出现对话框 务必在条件中使用 符号 例3 13按照学生姓名查看某学生的成绩 并显示学生编号 姓名 课程名称 学分和成绩 3 4 2多参数查询 例3 14建立一个参数查询 显示某一个班级某一门课程的学生 姓名 和 成绩 3 4 参数查询 练习 按照教师编号查看某教师的个人信息 显示教师编号 姓名 性别 学历 职称和系别 3 5创建操作查询 3 5 1认识操作查询 3 5 2生成表查询 3 5 3删除查询 3 5 4更新查询 3 5 5追加查询 3 5 1认识操作查询 操作查询是在一个操作中更改许多记录的查询 操作查询主要包括生成表 删除 更新 追加查询 操作查询与其他查询区别 简单查询 交叉表查询 参数查询都是从表中选择需要的数据 并不能对表中数据进行修改 而操作查询除了从表中选择数据外 还能对表中的记录进行修改 由于是对数据的修改 为了避免进行误修改操作 每一个操作查询的图标后面都有感叹号 使用时一定要注意 3 5 2生成表查询 例3 15将成绩在90分以上的学生信息存储到一个新表中 3 5 3删除查询 例3 16将选课成绩低于60分的记录删除 3 5 4更新查询 例3 17将所有1998年以前参加工作的教师的职称改为 副教授 3 5 5追加查询 例3 18建立一个追加查询 将选课成绩在80 90之间的学生的成绩追加到已经建立的 90分以上学生情况 表中 操作查询小结 不管是哪种操作查询 都可以在一个操作中更改许多记录 并且在执行操作查询后 不能撤消更改操作 因此 在使用操作查询时应注意 在执行操作查询之前 最好单击工具栏上的 视图 按钮 预览即将更改的记录 如果预览到的记录就是要操作的记录 再执行操作查询 这样可防止误操作 另外 在使用操作查询之前 应该备份数据 3 6创建SQL查询 3 6 1查询与SQL视图 3 6 3创建SQL查询 3 6 2SQL语言 3 6 1查询与SQL视图 SQL StructuredQueryLanguage 结构化查询语言 可以进行数据定义 数据查询 数据操纵和数据控制 3 6 1查询与SQL视图 任何一个查询都对应一个SQL语句 3 6 2SQL语言 数据定义 1 CREATE语句 CREATETABLE 字段级完整性约束条件1 字段级完整性约束条件2 常用的数据类型 CHAR 字符型 INT 整型 NUMERIC 数值型 DATETIME 日期时间型 BIT 逻辑型 MEMO 备注型 创建表 3 6 2SQL语言 数据定义 。
