第 4 章 查 询 教 学 目 的 掌 握 查 询 的 类 型 和 条 件 掌 握 选 择 查 询 掌 握 在 查 询 中 进 行 计 算 掌 握 交 叉 表 查 询 掌 握 参 数 查 询 掌 握 操 作 查 询 熟 悉 SQL 查 询 掌 握 编 辑 和 修 改 查 询 知 识 要 点 运 算 符 函 数 和 表 达 式 查 询 向 导 与 查 询 设 计 视 图 带 条 件 查 询 与 不 带 条 件 查 询 查 询 中 进 行 计 算 分 组 交 叉 表 查 询 单 参 数 查 询 和 多 参 数 查 询 生 成 表 查 询 更 新 查 询 追 加 查 询 和 删 除 查 询 SQL 语 句 与 SQL 查 询 编 辑 和 修 改 查 询 边 学 边 用 4.1 查 询 概 述 或 许 有 些 读 者 感 到 奇 怪, 在 学 习 了 查 找 和 筛 选 数 据 之 后, 为 什 么 还 要 学 习 查 询 呢? 查 找 和 筛 选 只 是 用 手 工 方 式 完 成 一 些 比 较 简 单 的 数 据 搜 索 工 作, 如 果 想 要 获 取 符 合 特 定 条 件 的 数 据 集 合, 并 对 该 集 合 做 进 一 步 的 汇 总 分 析 和 统 计 的 话, 查 找 与 筛 选 就 力 不 从 心 了, 必 须 使 用 查 询 功 能 实 现 查 询 最 主 要 的 目 的 就 是 根 据 指 定 的 条 件, 查 找 符 合 条 件 的 记 录, 构 成 一 个 新 的 数 据 集 合 显 示 出 来, 但 这 个 数 据 集 合 并 没 有 保 存 下 来, 保 存 的 只 是 查 询 的 操 作, 即 查 询 是 动 态 的 查 询 从 中 获 取 数 据 的 表 或 查 询 称 为 查 询 的 数 据 源 查 询 的 结 果 也 可 以 作 为 数 据 库 中 其 他 对 象 的 数 据 源
74 Access 2010 数 据 库 程 序 设 计 教 程 4.1.1 查 询 的 功 能 概 括 来 说 查 询 具 有 以 下 几 个 功 能 : (1) 选 择 字 段 记 录 (2) 统 计 分 析 与 计 算 数 据 (3) 编 辑 记 录 和 建 立 新 表 (4) 用 来 作 为 查 询 窗 体 和 报 表 的 数 据 源 4.1.2 查 询 的 分 类 Access 为 用 户 提 供 了 5 种 类 型 的 查 询, 分 别 是 选 择 查 询 参 数 查 询 交 叉 表 查 询 操 作 查 询 和 SQL 查 询 这 些 查 询 在 建 立 执 行 的 方 式 上 各 有 不 同, 并 能 完 成 不 同 的 功 能 选 择 查 询 参 数 查 询 交 叉 表 查 询 操 作 查 询 实 现 的 功 能 均 能 用 SQL 查 询 实 现, 但 用 SQL 查 询 实 现 的 功 能 不 一 定 能 用 其 他 查 询 实 现 1. 选 择 查 询 选 择 查 询 是 最 常 用 的, 也 是 最 基 本 的 查 询, 它 从 一 个 或 多 个 表 中 查 询 数 据 并 显 示 结 果, 还 可 以 对 记 录 进 行 分 组, 并 且 可 以 对 记 录 作 总 计 计 数 平 均 值 以 及 其 他 类 型 的 计 算 2. 交 叉 表 查 询 使 用 交 叉 表 查 询 可 以 重 新 组 织 数 据 的 结 构 并 统 计 数 据, 这 样 可 以 更 加 方 便 地 分 析 数 据 交 叉 表 查 询 可 以 计 算 数 据 的 合 计 平 均 值 计 数 或 其 他 类 型 的 总 和, 这 种 数 据 信 息 可 分 为 两 类 : 一 类 在 数 据 表 左 侧 排 列, 另 一 类 在 数 据 表 的 顶 端 3. 参 数 查 询 参 数 查 询 是 一 种 交 互 查 询, 在 执 行 时 显 示 对 话 框 以 提 示 用 户 输 入 信 息, 用 户 根 据 提 示 输 入 信 息 后, 系 统 会 根 据 用 户 输 入 的 信 息 执 行 查 询, 查 找 符 合 条 件 的 记 录 4. 操 作 查 询 操 作 查 询 只 需 进 行 一 次 操 作 就 可 对 许 多 记 录 进 行 更 改 和 移 动 Access 提 供 了 4 种 操 作 查 询 : (1) 生 成 表 查 询 : 可 以 根 据 一 个 或 多 个 表 中 的 全 部 或 部 分 数 据 新 建 表, 主 要 用 于 创 建 表 的 备 份 (2) 更 新 查 询 : 对 一 个 或 多 个 表 中 的 一 组 记 录 作 修 改 使 用 更 新 查 询, 可 以 修 改 已 有 表 中 的 数 据 (3) 追 加 查 询 : 将 一 个 或 多 个 表 中 的 一 组 记 录 添 加 到 一 个 或 多 个 表 的 末 尾 (4) 删 除 查 询 : 从 一 个 或 多 个 表 中 删 除 一 组 记 录 使 用 删 除 查 询, 通 常 会 删 除 整 个 记 录, 而 不 只 是 记 录 中 选 择 的 字 段 5.SQL 查 询 SQL( 结 构 化 查 询 语 言 ) 查 询 是 用 户 使 用 SQL 语 句 创 建 的 查 询 在 查 询 设 计 视 图 中 创 建 查 询 时,Access 将 在 后 台 构 造 等 效 的 SQL 语 句 如 果 需 要, 可 以 在 SQL 视 图 中 查 看 和 编 辑 SQL 语 句, 称 为 SQL 特 定 查 询 SQL 特 定 查 询 包 括 联 合 查 询 传 递 查 询 数 据 定 义 查 询 和 子 查 询 4 种 4.1.3 查 询 的 条 件 在 建 立 查 询 时, 可 以 通 过 设 置 条 件 来 限 定 查 询 的 范 围 和 结 果 查 询 条 件 是 运 算 符 常 量
第 4 章 查 询 75 字 段 值 函 数 字 段 名 和 属 性 等 的 任 意 组 合, 查 询 能 够 计 算 出 一 个 结 果 1. 运 算 符 (1) 算 术 运 算 符 包 括 加 (+) 减 ( ) 乘 (*) 除 (/) 乘 方 (^) 等, 如 表 4 1 所 示 算 术 表 达 式 的 结 果 是 数 值 表 4 1 算 术 运 算 符 及 含 义 算 术 运 算 符 含 义 示 例 + 加 2+3=5 减 3 2=1 * 乘 3*2=6 / 浮 点 除 3/2=1.5 \ 整 除 3\2=1 MOD 取 余 5 MOD 2=1 ^ 取 幂 3^2=9 (2) 关 系 运 算 符, 如 表 4 2 所 示 关 系 运 算 的 结 果 是 布 尔 型 (True 或 False) 表 4 2 关 系 运 算 符 及 含 义 关 系 运 算 符 含 义 示 例 = 等 于 2=3 (False) < 小 于 2<1 (False) > 大 于 "A">"B" (False) <> 不 等 于 1<>2 (True) <= 小 于 等 于 6<=5 (False) >= 大 于 等 于 6>=1 (True) (3) 逻 辑 运 算 符, 如 表 4 3 所 示 逻 辑 运 算 的 结 果 是 布 尔 型 (True 或 False) 表 4 3 逻 辑 运 算 符 及 含 义 逻 辑 运 算 符 含 义 示 例 Not 逻 辑 非 当 Not 连 接 的 表 达 式 为 True 时, 整 个 表 达 式 为 False Not 3>1 (False) And Or 逻 辑 与, 即 逻 辑 乘 只 有 当 And 连 接 的 表 达 式 均 为 True 时, 整 个 表 达 式 才 为 True, 否 则 为 False 逻 辑 或, 即 逻 辑 加 只 有 当 Or 连 接 的 表 达 式 均 为 False 时, 整 个 表 达 式 才 为 False, 否 则 为 True 1<2 And 2>3(False) 1<2 Or 2>3 (True) (4) 连 接 运 算 符 包 括 & 和 +, 如 表 4 4 所 示 连 接 运 算 的 结 果 是 字 符 串
76 Access 2010 数 据 库 程 序 设 计 教 程 表 4 4 连 接 运 算 符 连 接 运 算 符 含 义 示 例 & 将 两 个 值 连 接 成 字 符 串 "abc"& 5="abc5" + 将 两 个 字 符 串 连 接 成 字 符 串 "abc"+ 5 错 误 "3"+"2"="32" 运 算 符 的 优 先 级 顺 序 为 算 术 运 算 符 > 关 系 运 算 符 > 逻 辑 运 算 符 逻 辑 运 算 符 的 优 先 级 顺 序 为 :Not>And>Or, 同 级 运 算 从 左 到 右, 如 表 4 5 所 示 表 4 5 运 算 符 优 先 级 关 系 优 先 级 算 术 运 算 符 连 接 运 算 符 关 系 运 算 符 逻 辑 运 算 符 高 ^ & = Not ( 负 号 ) + <> And * / < Or \ > 低 Mod <= + >= 高 低 (5) 特 殊 运 算 符, 如 表 4 6 所 示 其 运 算 结 果 是 布 尔 型 (True 或 False) 表 4 6 特 殊 运 算 符 及 含 义 特 殊 运 算 符 含 义 示 例 In 确 定 某 个 字 符 串 值 是 否 在 一 组 字 符 串 值 内 In("A","B","C") 等 价 于 "A"Or"B"Or"C" Between Like Is Null Is Not Null 判 断 表 达 式 的 值 是 否 在 指 定 的 A 和 B 的 范 围 之 间, 若 在, 其 结 果 为 True, 否 则 结 果 为 False A 和 B 可 以 是 数 字 型 日 期 型 和 文 本 型 判 断 字 符 串 是 否 符 合 某 一 样 式, 若 符 合, 其 结 果 为 True, 否 则 结 果 为 False 表 示 某 个 字 段 有 值 表 示 某 个 字 段 没 有 值 Between 1 And 10 指 的 是 1~10 之 间 的 数 字 即 >=1 AND <=10 Like" 张 *" 指 所 有 姓 张 的 人 2. 函 数 函 数 用 来 实 现 数 据 的 运 算 或 转 换 每 一 个 函 数 都 有 一 个 特 定 的 功 能, 只 能 有 一 个 返 回 值, 但 往 往 需 要 若 干 个 运 算 对 象 ( 参 数 ) 标 准 函 数 使 用 形 式 如 下 : 函 数 名 (< 参 数 1>,< 参 数 2>[,< 参 数 3>][,< 参 数 4>]) 其 中 函 数 名 必 不 可 少, 函 数 的 参 数 放 在 圆 括 号 中, 可 以 是 常 量 变 量 表 达 式 或 其 他 函 数, 如 果 函 数 有 多 个 参 数, 在 参 数 之 间 用 逗 点, 分 开
第 4 章 查 询 77 (1) 算 术 函 数 算 术 函 数 的 参 数 一 般 是 数 值 型 数 据, 其 运 算 结 果 一 般 是 数 字 算 术 函 数 及 其 含 义 如 表 4 7 所 示 表 4 7 算 术 函 数 及 含 义 算 术 函 数 含 义 示 例 Abs( 算 术 表 达 式 ) 返 回 算 术 表 达 式 的 绝 对 值 Abs( 5)=5 Fix( 算 术 表 达 式 ) 返 回 算 术 表 达 式 的 整 数 部 分 Fix(5.5)=5 Fix( 5.5)= 5 Int( 算 术 表 达 式 ) 返 回 小 于 等 于 算 术 表 达 式 的 最 大 整 数 Int(5.5)=5 Int( 5.5)= 6 Round( 算 术 表 达 式 ) 返 回 算 术 表 达 式 四 舍 五 入 后 的 整 数 Round(3.5)=4 Round( 3.5)= 4 Sqr( 算 术 表 达 式 ) 返 回 算 术 表 达 式 的 平 方 根 Sqr(4)=2.0 Sgn( 算 术 表 达 式 ) 返 回 算 术 表 达 式 的 符 号 值 算 术 表 达 式 >0, 返 回 1;=0, 返 回 0;<0, 返 回 1 Sgn( 3)= 1 Sgn(3)=1 (2) 字 符 函 数 字 符 函 数 的 参 数 一 般 是 字 符 型 数 据, 其 运 算 结 果 一 般 是 字 符 串 字 符 函 数 及 其 含 义 如 表 4 8 所 示 表 4 8 字 符 函 数 及 含 义 字 符 函 数 含 义 示 例 Space( 数 值 表 达 式 ) String( 数 值 表 达 式, 字 符 串 表 达 式 ) Left( 数 值 表 达 式, 字 符 串 表 达 式 ) Right( 数 值 表 达 式, 字 符 串 表 达 式 ) Mid ( 字 符 串 表 达 式, 数 值 表 达 式 1, 数 值 表 达 式 2) Len( 字 符 串 表 达 式 ) 返 回 数 值 表 达 式 的 值 确 定 的 空 格 个 数 组 成 的 字 符 串 返 回 由 字 符 串 表 达 式 的 第 一 个 字 符 重 复 组 成 的 指 定 长 度 为 数 值 表 达 式 的 值 的 字 符 串 返 回 字 符 串 表 达 式 左 边 的 数 值 表 达 式 值 个 字 符 返 回 字 符 串 表 达 式 右 边 的 数 值 表 达 式 值 个 字 符 返 回 字 符 串 表 达 式 从 左 边 算 起, 第 数 值 表 达 式 1 开 始, 截 取 长 度 为 数 值 表 达 式 2 的 字 符 串 返 回 字 符 串 表 达 式 的 字 符 个 数, 如 字 符 串 为 null, 返 回 null Space(5)= " " String(2,"access")="aa" Left(3,"access")="acc" Right(3,"access")="ess" Mid("access",2,3)="cce" Mid("access",2)="ccess" Len("access")=6 Ltrim( 字 符 串 表 达 式 ) 去 掉 字 符 串 表 达 式 左 边 的 空 格 Ltrim(" access")="access" Rtrim( 字 符 串 表 达 式 ) 去 掉 字 符 串 表 达 式 右 边 的 空 格 Rtrim("access ")="access" Trim ( 字 符 串 表 达 式 ) 去 掉 字 符 串 表 达 式 两 边 的 空 格 Trim(" access ")="access" 注 意 : 字 符 串 常 量 用 英 文 的 "" 括 起 来 (3) 日 期 / 时 间 函 数 日 期 / 时 间 函 数 主 要 用 来 处 理 日 期 和 时 间, 其 参 数 一 般 是 日 期 / 时 间 型 数 据 日 期 / 时 间 函 数 及 其 含 义 如 表 4 9 所 示
78 Access 2010 数 据 库 程 序 设 计 教 程 表 4 9 日 期 / 时 间 函 数 及 含 义 日 期 / 时 间 函 数 含 义 示 例 Day( 日 期 表 达 式 ) 返 回 给 定 日 期 是 一 个 月 中 的 哪 一 天 Day(#2013 11 12#)=12 Month( 日 期 表 达 式 ) 返 回 给 定 日 期 是 一 年 中 的 哪 个 月 Month(#2013 11 12#)=11 Year( 日 期 表 达 式 ) 返 回 给 定 日 期 是 哪 一 年 Year(#2013 11 12#)=2013 Weekday( 日 期 表 达 式 ) 返 回 给 定 日 期 是 一 周 中 的 哪 一 天 Weekday(#2013 11 12#)=3 Hour( 时 间 表 达 式 ) 返 回 给 定 时 间 是 一 天 中 的 哪 个 钟 点 Hour(#20:32:15#)=20 Date( ) Now( ) DateSerial( 数 值 表 达 式, 数 值 表 达 式, 数 值 表 达 式 ) 返 回 当 前 系 统 日 期 返 回 当 前 系 统 时 间 返 回 包 含 指 定 的 年 月 日 的 日 期 DateSerial(2013,5,1)=#2013 5 1# 注 意 : 日 期 / 时 间 常 量 用 英 文 的 # 括 起 来 (4) 统 计 函 数 统 计 函 数 及 其 含 义 如 表 4 10 所 示 表 4 10 统 计 函 数 及 含 义 统 计 函 数 含 义 示 例 Sum( 字 符 串 表 达 式 ) 返 回 字 符 串 表 达 式 的 总 和, 字 符 串 表 达 式 一 般 是 字 段 名 Sum([ 成 绩 ]) Avg( 字 符 串 表 达 式 ) 返 回 字 符 串 表 达 式 的 平 均 值, 字 符 串 表 达 式 一 般 是 字 段 名 Avg([ 成 绩 ]) Count( 字 符 串 表 达 式 ) 统 计 记 录 个 数, 字 符 串 表 达 式 一 般 是 字 段 名 Count([ 成 绩 ]) Max( 字 符 串 表 达 式 ) 返 回 字 符 串 表 达 式 的 最 大 值, 字 符 串 表 达 式 一 般 是 字 段 名 Max([ 成 绩 ]) Min( 字 符 串 表 达 式 ) 返 回 字 符 串 表 达 式 的 最 小 值, 字 符 串 表 达 式 一 般 是 字 段 名 Min([ 成 绩 ]) 注 意 : 窗 体 报 表 字 段 或 控 件 的 名 称 用 英 文 的 [ ] 括 起 来 4.2 创 建 选 择 查 询 Access 提 供 了 多 种 创 建 查 询 的 方 法, 可 以 根 据 用 户 的 需 要 快 速 简 单 地 建 立 查 询 查 询 建 好 后, 还 可 以 切 换 到 设 计 视 图 进 行 修 改 选 择 查 询 是 最 常 用 的 一 种 查 询, 也 是 其 他 类 型 查 询 的 基 础 一 般 建 立 查 询 的 方 法 有 两 种 : 查 询 向 导 和 设 计 视 图 4.2.1 使 用 查 询 向 导 使 用 向 导 建 立 查 询 的 特 点 是 快 捷 方 便, 用 户 只 需 要 按 照 提 示 进 行 选 择 就 行 了, 但 不 能 设 置 查 询 条 件 字 段 例 4 1 使 用 向 导 创 建 查 询, 显 示 教 务 管 理 数 据 库 中 学 生 表 中 的 学 号 姓 名 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 查 询 组 中 的 查 询 向 导 按 钮, 如 图 4 1 中 1 2 所 示
第 4 章 查 询 79 图 4 1 创 建 功 能 区 步 骤 2 弹 出 新 建 查 询 对 话 框, 选 中 简 单 查 询 向 导, 如 图 4 2 中 3 所 示, 然 后 单 击 确 定 按 钮, 如 图 4 2 中 4 所 示 图 4 2 新 建 查 询 对 话 框 步 骤 3 弹 出 简 单 查 询 向 导 对 话 框, 如 图 4 3 所 示, 在 表 / 查 询 下 拉 列 表 中 选 择 学 生 表, 如 图 4 3 中 5 所 示, 在 可 用 字 段 列 表 框 中 选 择 用 于 查 询 的 学 号 和 姓 名 字 段, 如 图 4 3 中 6 所 示, 再 单 击 > 按 钮, 如 图 4 3 中 7 所 示, 将 其 添 加 到 选 定 字 段 列 表 框 中, 如 图 4 4 中 8 所 示 如 果 想 将 所 有 字 段 添 加 到 选 定 字 段 列 表 框 中, 单 击 >> 按 钮 ; 如 果 想 将 选 定 字 段 列 表 框 中 的 某 个 字 段 删 除, 单 击 < 按 钮 ; 若 全 部 删 除, 单 击 << 按 钮 若 要 建 立 基 于 多 个 表 / 查 询 的 查 询, 重 复 上 面 的 步 骤, 将 所 需 的 字 段 添 加 完 毕, 单 击 下 一 步 按 钮, 如 图 4 4 中 9 所 示 图 4 3 简 单 查 询 向 导 对 话 框
80 Access 2010 数 据 库 程 序 设 计 教 程 图 4 4 选 择 添 加 需 要 查 询 的 字 段 步 骤 4 若 选 择 的 字 段 中 有 数 字 型 字 段, 则 会 弹 出 如 图 4 5 所 示 的 对 话 框 若 选 中 明 细 ( 显 示 每 个 记 录 的 每 个 字 段 ) 将 显 示 所 选 字 段 的 基 本 内 容 ; 若 选 中 汇 总 将 显 示 需 要 计 算 的 汇 总 值, 包 含 平 均 值 总 和 最 大 值 等 图 4 5 确 定 采 用 明 细 查 询 还 是 汇 总 查 询 步 骤 5 在 请 为 查 询 指 定 标 题 文 本 框 中 输 入 学 生 基 本 信 息 查 询, 如 图 4 6 中 10 所 示, 并 选 择 打 开 查 询 查 看 信 息 单 选 按 钮, 如 图 4 6 中 11 所 示 图 4 6 输 入 查 询 名 称
所 示 第 4 章 查 询 81 步 骤 6 单 击 完 成 按 钮, 如 图 4 6 中 12 所 示, 打 开 查 询 的 数 据 表 视 图 窗 口, 如 图 4 7 图 4 7 建 立 的 查 询 注 意 : 在 简 单 查 询 向 导 中, 选 择 打 开 查 询 查 看 信 息, 则 在 完 成 向 导 后 直 接 打 开 数 据 表 视 图 窗 口 ; 选 择 修 改 查 询 设 计, 则 在 完 成 向 导 后 直 接 打 开 查 询 设 计 视 图 窗 口 4.2.2 使 用 设 计 视 图 查 询 设 计 视 图 是 创 建 编 辑 和 修 改 查 询 的 基 本 工 具 使 用 查 询 向 导 建 立 查 询 确 实 很 方 便, 但 是 不 能 建 立 带 条 件 的 复 杂 的 查 询, 这 就 需 要 用 到 设 计 视 图 了 Access 有 5 种 查 询 视 图 : 设 计 视 图 数 据 表 视 图 SQL 视 图 数 据 透 视 表 视 图 和 数 据 透 视 图 视 图 查 询 工 具 - 设 计 选 项 卡 如 图 4 8 所 示, 各 按 钮 功 能 说 明 如 表 4 11 所 示 图 4 8 查 询 工 具 - 设 计 选 项 卡 表 4 11 按 钮 的 功 能 按 钮 查 询 类 型 运 行 显 示 表 汇 总 说 明 选 择 查 询 类 型, 有 选 择 查 询 交 叉 表 查 询 生 成 表 查 询 删 除 查 询 追 加 查 询 和 更 新 查 询 执 行 查 询, 生 成 查 询 结 果 并 以 数 据 表 的 形 式 显 示 出 来 打 开 显 示 表 对 话 框, 列 出 当 前 数 据 库 中 的 表 和 查 询, 以 便 用 户 选 择 数 据 源 在 查 询 设 计 网 格 中 增 加 总 计 行, 用 于 各 种 统 计 计 算, 如 求 和 求 平 均 值 等 返 回 ( 上 限 值 ) 此 文 本 框 中 的 值 可 以 对 查 询 结 果 显 示 的 数 据 记 录 进 行 限 制 属 性 表 生 成 器 显 示 光 标 处 的 对 象 属 性 弹 出 属 性 表, 可 以 对 字 段 进 行 修 改 和 设 置 在 查 询 设 计 中 选 择 条 件 或 或 行 后, 单 击 该 按 钮, 可 以 在 弹 出 的 表 达 式 生 成 器 对 话 框 中 设 置 查 询 条 件 的 表 达 式
82 Access 2010 数 据 库 程 序 设 计 教 程 1. 创 建 不 带 条 件 的 查 询 例 4 2 使 用 设 计 视 图 创 建 学 生 成 绩 查 询, 并 显 示 学 生 的 学 号 姓 名 课 程 名 和 成 绩 字 段 该 查 询 中 的 字 段 来 自 多 个 表, 所 以 建 立 查 询 前, 要 先 建 立 多 个 表 间 的 关 系 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 查 询 组 中 的 查 询 设 计 按 钮, 如 图 4 9 中 1 2 所 示, 打 开 查 询 设 计 视 图, 并 打 开 显 示 表 对 话 框, 如 图 4 10 所 示 图 4 9 创 建 功 能 区 图 4 10 查 询 设 计 视 图 显 示 表 对 话 框 中 各 选 项 卡 的 说 明 如 表 4 12 所 示 表 4 12 显 示 表 对 话 框 中 选 项 卡 的 说 明 名 称 说 明 表 查 询 两 者 都 有 显 示 当 前 数 据 库 中 的 所 有 数 据 表 显 示 当 前 数 据 库 中 的 所 有 查 询 显 示 当 前 数 据 库 中 的 所 有 数 据 表 和 查 询 步 骤 2 在 显 示 表 对 话 框 中 选 择 学 生 课 程 和 成 绩 表, 如 图 4 10 中 3 所 示, 单 击 添 加 按 钮 以 把 这 三 个 表 添 加 到 查 询 设 计 视 图 中, 如 图 4 10 中 4 所 示, 结 果 如 图 4 11 所 示
第 4 章 查 询 83 图 4 11 添 加 表 后 的 视 图 注 意 : 查 询 设 计 的 每 一 列 对 应 着 查 询 结 果 中 的 一 个 字 段, 而 网 格 的 行 标 题 代 表 了 查 询 的 属 性 字 段, 如 图 4 11 所 示 相 关 说 明 如 表 4 13 所 示 表 4 13 查 询 设 计 视 图 中 的 字 段 说 明 行 的 名 称 作 用 字 段 设 置 字 段 或 字 段 的 表 达 式 ( 每 个 查 询 至 少 包 含 一 个 字 段 ) 表 总 计 排 序 显 示 条 件 或 该 字 段 所 在 表 的 表 名 称 用 于 确 定 字 段 在 查 询 中 的 运 算 方 法 用 于 确 定 查 询 采 用 的 排 序 方 法 确 定 字 段 是 否 在 数 据 表 中 显 示 指 定 逻 辑 与 关 系 的 条 件 指 定 逻 辑 或 关 系 的 条 件 步 骤 3 双 击 学 生 表 中 的 学 号 姓 名 字 段, 课 程 表 中 的 课 程 名 字 段, 成 绩 表 中 的 成 绩 字 段, 以 添 加 到 设 计 网 格 中, 如 图 4 12 中 5 6 7 所 示 图 4 12 添 加 字 段
84 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 4 在 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 单 击 运 行 按 钮, 显 示 查 询 出 的 数 据 记 录, 结 果 如 图 4 13 所 示 图 4 13 所 建 查 询 的 结 果 表 步 骤 5 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 弹 出 另 存 为 对 话 框, 在 查 询 名 称 文 本 框 中 输 入 学 生 成 绩 查 询, 如 图 4 14 中 8 所 示, 单 击 确 定 按 钮, 如 图 4 14 中 9 所 示, 完 成 查 询 创 建 图 4 14 另 存 为 对 话 框 2. 创 建 带 条 件 的 查 询 例 4 3 使 用 设 计 视 图 查 询 并 显 示 成 绩 为 不 及 格 (<60) 或 优 秀 (>=90) 的 学 生 的 学 号 姓 名 课 程 名 和 成 绩 字 段 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图, 并 打 开 显 示 表 对 话 框 步 骤 2 在 显 示 表 对 话 框 中 选 择 学 生 课 程 和 成 绩 表, 添 加 到 查 询 设 计 视 图 中 步 骤 3 双 击 学 生 表 中 的 学 号 姓 名 字 段, 课 程 表 中 的 课 程 名 字 段, 成 绩 表 中 的 成 绩 字 段, 以 添 加 到 设 计 网 格 中 步 骤 4 在 成 绩 字 段 列 的 排 序 行 中 单 击 按 钮, 在 弹 出 的 下 拉 列 表 中 选 择 降 序 选 项, 如 图 4 15 中 1 所 示
第 4 章 查 询 85 图 4 15 设 置 排 序 步 骤 5 在 成 绩 字 段 列 的 条 件 行 输 入 >=90, 在 或 行 输 入 <60, 如 图 4 16 中 2 所 示 图 4 16 查 询 条 件 设 置 注 意 :1 若 是 单 个 字 符 串 做 条 件, 字 符 串 两 边 的 引 号 不 必 输 入, 系 统 会 根 据 需 要 自 动 添 加, 如 果 人 工 输 入, 必 须 要 加 英 文 双 引 号 ; 错 误 ; 2 如 果 条 件 开 头 不 输 入 运 算 符, 查 询 设 计 视 图 会 自 动 插 入 等 号 (=) 运 算 符 ; 3 条 件 中 使 用 的 数 据 类 型 应 与 对 应 的 字 段 类 型 相 符 合, 否 则 会 出 现 数 据 类 型 不 匹 配 的 4 在 同 一 行 ( 条 件 行 或 或 行 ) 的 不 同 列 输 入 的 多 个 查 询 条 件 彼 此 间 是 逻 辑 与 (and) 关 系 ; 在 不 同 行 输 入 的 多 个 查 询 条 件 彼 此 间 是 逻 辑 或 (or) 关 系 如 果 行 与 列 同 时 存 在, 则 行 与 列 的 优 先 级 为 : 行 > 列
86 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 6 在 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 单 击 运 行 按 钮, 显 示 查 询 出 的 数 据 记 录, 结 果 如 图 4 17 所 示 图 4 17 所 建 查 询 的 结 果 表 步 骤 7 如 果 查 询 的 数 据 记 录 不 符 合 要 求, 可 以 单 击 开 始 选 项 卡 中 视 图 组 的 视 图 下 拉 菜 单 中 的 设 计 视 图 命 令, 修 改 设 计 视 图 的 内 容, 如 图 4 18 中 3 所 示 图 4 18 转 换 到 设 计 视 图 步 骤 8 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 保 存 为 学 生 成 绩 查 询 ( 带 条 件 ) 4.2.3 查 询 条 件 的 使 用 在 创 建 查 询 时, 条 件 可 以 多 种 多 样 下 面 用 具 体 的 例 子 来 讲 解 条 件 的 写 法 1. 使 用 数 值 作 为 查 询 条 件 以 数 值 作 为 查 询 条 件 的 简 单 示 例 和 功 能 如 表 4 14 所 示 表 4 14 使 用 数 值 作 为 查 询 条 件 的 示 例 字 段 名 条 件 功 能 <80 查 询 成 绩 小 于 80 分 的 记 录 成 绩 Between 80 And 90 >=80 And <=90 查 询 成 绩 在 80~90 分 的 记 录
第 4 章 查 询 87 2. 使 用 文 本 值 作 为 查 询 条 件 以 文 本 值 作 为 查 询 条 件 的 示 例 和 功 能 如 表 4 15 所 示 表 4 15 使 用 文 本 值 作 为 查 询 条 件 的 示 例 字 段 名 条 件 功 能 " 教 授 " 查 询 职 称 为 教 授 的 记 录 职 称 姓 名 " 教 授 " Or " 副 教 授 " Right([ 职 称 ],2)=" 教 授 " In(" 张 三 "," 李 四 ") " 张 三 " Or " 李 四 " Like " 张 *" Left([ 姓 名 ],1)=" 张 " Instr([ 姓 名 ], " 张 ")=1 Not Like " 李 *" Left([ 姓 名 ],1)<>" 李 " Len([ 姓 名 ])<=3 查 询 职 称 为 教 授 或 副 教 授 的 记 录 查 询 姓 名 为 张 三 或 李 四 的 记 录 查 询 姓 张 的 记 录 查 询 不 姓 李 的 记 录 查 询 姓 名 不 超 过 3 个 字 的 记 录 Is Null 查 询 姓 名 为 Null( 空 ) 的 记 录 课 程 名 称 Like "* 英 语 " 查 询 课 程 名 称 以 英 语 结 尾 的 记 录 Right([ 课 程 名 称 ],2)=" 英 语 " Like "* 英 语 *" 查 询 课 程 名 称 包 含 英 语 的 记 录 学 生 编 号 Mid([ 学 生 编 号 ],5,2)="03" Instr([ 学 生 编 号 ],"03")=5 查 询 学 生 编 号 第 5 个 和 第 6 个 字 符 为 03 的 记 录 联 系 电 话 "" 查 询 表 中 没 有 联 系 电 话 的 记 录 3. 使 用 日 期 处 理 结 果 作 为 查 询 条 件 以 日 期 处 理 结 果 作 为 查 询 条 件 的 示 例 和 功 能 如 表 4 16 所 示 表 4 16 使 用 日 期 处 理 结 果 作 为 查 询 条 件 的 示 例 字 段 名 条 件 功 能 工 作 时 间 Between #2001 01 01# And #2001 12 31# Year([ 工 作 时 间 ])=2001 查 询 2001 年 参 加 工 作 的 记 录 <Date() 20 查 询 20 天 前 参 加 工 作 的 记 录 Between Date() 20 And Date() 查 询 20 天 之 内 参 加 工 作 的 记 录 Year([ 工 作 时 间 ])=2001 And Month([ 工 作 时 间 ])=5 查 询 2001 年 5 月 参 加 工 作 的 记 录 出 生 日 期 Year([ 出 生 日 期 ])=1996 查 询 1996 年 出 生 的 记 录 4.2.4 在 查 询 中 进 行 计 算 在 前 面 已 经 介 绍 了 建 立 查 询 的 方 法, 但 并 没 有 对 查 询 的 结 果 做 进 一 步 的 统 计 和 分 析 对 查 询 的 结 果 进 行 统 计 是 指 查 询 的 计 算 功 能 在 Access 查 询 中, 可 以 执 行 两 种 类 型 的 计 算, 即
88 Access 2010 数 据 库 程 序 设 计 教 程 预 定 义 计 算 和 自 定 义 计 算 1. 查 询 中 的 计 算 类 型 (1) 预 定 义 计 算 预 定 义 计 算 又 叫 总 计 计 算, 是 系 统 提 供 的 对 查 询 中 的 记 录 组 或 全 部 记 录 进 行 的 计 算, 包 括 分 组 总 计 平 均 值 计 数 最 大 值 最 小 值 等 单 击 查 询 工 具 选 项 卡 显 示 / 隐 藏 组 中 的 汇 总 按 钮, 可 以 在 设 计 网 格 中 显 示 总 计 行 对 设 计 网 格 中 的 每 个 字 段, 都 可 以 在 总 计 行 中 选 择 总 计 项 来 对 相 应 记 录 进 行 计 算 总 计 行 中 有 12 个 总 计 项, 其 名 称 及 含 义 如 表 4 17 所 示 表 4 17 总 计 项 及 意 义 名 称 功 能 分 组 (Group By) 合 计 (Sum) 平 均 值 (Average) 最 大 值 (Max) 最 小 值 (Min) 计 数 (Count) 标 准 差 (StDev) 变 量 (Var) 第 一 条 记 录 (First) 最 后 一 条 记 录 (Last) 表 达 式 (Expression) 条 件 (Where) 指 定 进 行 数 值 汇 总 的 分 组 字 段 计 算 指 定 分 组 字 段 的 总 和 计 算 指 定 分 组 字 段 的 平 均 值 计 算 指 定 分 组 字 段 的 最 大 值 计 算 指 定 分 组 字 段 的 最 小 值 计 算 指 定 分 组 字 段 值 的 记 录 条 数 计 算 指 定 分 组 字 段 的 标 准 偏 差 计 算 指 定 分 组 字 段 的 变 量 值 按 照 输 入 时 间 的 顺 序 返 回 第 一 条 记 录 的 值 按 照 输 入 时 间 的 顺 序 返 回 最 后 一 条 记 录 的 值 用 来 在 字 段 行 中 建 立 计 算 字 段 限 制 表 中 的 部 分 记 录 参 加 汇 总 (2) 自 定 义 计 算 自 定 义 计 算 是 指 自 己 定 义 计 算 的 表 达 式, 在 表 达 式 中 使 用 一 个 或 多 个 字 段 的 数 据, 进 行 数 值 文 本 的 计 算 自 定 义 计 算 创 建 的 方 法 是 直 接 将 表 达 式 输 入 到 设 计 网 格 的 空 字 段 行 中 2. 总 计 查 询 总 计 查 询 用 于 对 表 中 的 全 部 记 录 进 行 总 计 计 算, 包 括 计 算 总 和 平 均 值 最 大 值 最 小 值 计 数 标 准 差 等 例 4 4 创 建 学 生 成 绩 总 计 查 询, 统 计 学 生 的 平 均 成 绩 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 和 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 学 号 姓 名 字 段, 成 绩 表 中 的 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 19 中 1 2 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 显 示 / 隐 藏 组 中 的 汇 总 按 钮, 此 时 将 在 视 图 网 格 中 出 现 总 计 行, 在 成 绩 字 段 的 总 计 行 中 选 择 平 均 值 选 项, 如 图 4 19 中 3 所 示
第 4 章 查 询 89 图 4 19 添 加 总 计 行 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 显 示 出 总 计 查 询 的 数 据 记 录, 如 图 4 20 所 示 图 4 20 总 计 查 询 结 果 步 骤 5 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 学 生 成 绩 总 计 查 询 3. 分 组 统 计 查 询 在 查 询 中, 如 果 需 要 对 记 录 进 行 分 类 统 计, 可 以 使 用 分 组 统 计 功 能 分 组 统 计 时, 在 设 计 视 图 中 将 用 于 分 组 字 段 的 总 计 行 设 置 成 Group By 就 可 以 了 例 4 4 中, 在 学 号 字 段 列 的 总 计 行 中 就 用 到 了 Group By, 也 就 是 根 据 学 号 进 行 了 分 组 例 4 5 创 建 各 专 业 人 数 总 计 查 询, 分 组 统 计 各 专 业 人 数 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 专 业 学 号 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 21 中 1 2 所 示
90 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 3 单 击 查 询 工 具 选 项 卡 显 示 / 隐 藏 组 中 的 汇 总 按 钮, 此 时 将 在 视 图 网 格 中 出 现 总 计 行, 分 别 在 专 业 字 段 和 学 号 字 段 的 总 计 行 中 选 择 Group By 和 计 数 选 项, 如 图 4 21 中 3 4 所 示 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 显 示 出 总 计 查 询 的 数 据 记 录, 如 图 4 22 所 示 图 4 21 添 加 总 计 行 图 4 22 总 计 查 询 结 果 步 骤 5 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 各 专 业 人 数 统 计 4. 添 加 计 算 字 段 当 用 户 需 要 统 计 的 数 据 不 在 表 中, 或 者 用 于 计 算 的 数 据 来 源 于 多 个 字 段, 此 时 需 要 在 设 计 视 图 中 添 加 一 个 新 字 段, 这 就 是 计 算 字 段 例 4 6 创 建 学 生 年 龄 查 询, 查 询 每 个 学 生 的 年 龄 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 表, 添 加 到 查 询 设 计 窗 口 中 1 所 示 步 骤 2 双 击 学 生 表 中 的 姓 名 性 别 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 23 中 图 4 23 添 加 计 算 字 段
步 骤 3 第 4 章 查 询 91 在 性 别 字 段 列 后 面 的 空 白 列 的 字 段 行 中 输 入 表 达 式 : 年 龄 :Year(Date()) Year( [ 出 生 日 期 ] ), 如 图 4 23 中 2 所 示 注 意 : 计 算 字 段 中 的 冒 号 要 用 英 文 的 符 号 步 骤 4 据 记 录, 如 图 4 24 所 示 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 显 示 查 询 出 的 数 图 4 24 计 算 字 段 查 询 结 果 步 骤 5 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 学 生 年 龄 查 询 4.3 创 建 交 叉 表 查 询 交 叉 表 查 询 是 一 种 独 特 的 查 询, 生 成 的 数 据 显 示 更 清 晰 结 构 更 合 理, 更 便 于 用 户 分 析 和 使 用 4.3.1 认 识 交 叉 表 查 询 所 谓 交 叉 表 查 询 就 是 将 来 源 于 某 个 表 中 的 字 段 进 行 分 组, 一 组 字 段 的 值 在 数 据 表 的 左 侧, 称 为 行 标 题, 一 组 字 段 的 值 在 数 据 表 的 上 部, 称 为 列 标 题, 然 后 在 数 据 表 行 与 列 的 交 叉 处 显 示 表 中 某 个 字 段 的 各 种 计 算 值, 比 如 求 和 计 数 求 平 均 值 等 交 叉 表 查 询 就 是 一 个 用 户 建 立 起 来 的 二 维 总 计 矩 阵 交 叉 表 查 询 除 了 需 要 指 定 查 询 对 象 和 字 段 外, 还 需 要 知 道 如 何 统 计 数 字, 用 户 需 要 为 交 叉 表 查 询 指 定 表 4 18 中 的 3 个 字 段 表 4 18 交 叉 表 字 段 说 明 字 段 行 标 题 列 标 题 值 字 段 说 明 显 示 在 第 一 列, 它 是 指 把 某 个 字 段 的 相 关 数 据 放 入 指 定 的 一 行 中 以 便 进 行 概 括 每 个 交 叉 表 最 多 有 3 个 行 标 题 位 于 数 据 表 的 顶 端, 它 是 把 某 个 字 段 的 相 关 数 据 放 入 指 定 的 一 列 中 以 便 进 行 计 算 每 个 交 叉 表 只 有 1 个 列 标 题 它 是 用 户 选 择 在 交 叉 表 中 显 示 的 字 段, 即 行 与 列 的 交 叉 处 显 示 的 字 段 值 的 总 计 项, 如 总 计 计 数 等 每 个 交 叉 表 只 有 1 个 值 字 段 下 面 将 分 别 介 绍 如 何 使 用 向 导 和 设 计 视 图 来 建 立 交 叉 表 查 询
92 Access 2010 数 据 库 程 序 设 计 教 程 4.3.2 使 用 交 叉 表 查 询 向 导 例 4 7 使 用 向 导 建 立 统 计 各 专 业 人 数 的 交 叉 表 查 询, 查 询 每 个 专 业 的 男 女 学 生 人 数 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 向 导 按 钮, 弹 出 新 建 查 询 对 话 框 选 择 交 叉 表 查 询 向 导, 如 图 4 25 中 1 所 示, 单 击 确 定 按 钮, 如 图 4 25 中 2 所 示 图 4 25 新 建 查 询 对 话 框 步 骤 2 出 现 交 叉 表 查 询 向 导 对 话 框, 在 指 定 表 或 查 询 的 列 表 框 中 选 择 表 : 学 生 项, 如 图 4 26 中 3 所 示, 并 选 择 视 图 选 项 组 中 的 表 单 选 按 钮, 如 图 4 26 中 4 所 示, 然 后 单 击 下 一 步 按 钮, 如 图 4 26 中 5 所 示 图 4 26 选 择 表
第 4 章 查 询 93 注 意 : 如 果 要 建 立 包 含 多 个 表 中 字 段 的 交 叉 表 查 询, 先 要 创 建 一 个 含 有 所 需 字 段 的 查 询, 在 此 查 询 的 基 础 上 建 立 交 叉 表 查 询 步 骤 3 选 择 行 标 题 : 在 可 用 字 段 列 表 框 中 选 择 专 业 字 段, 单 击 > 按 钮, 如 图 4 27 中 6 7 所 示, 然 后 单 击 下 一 步 按 钮, 如 图 4 27 中 8 所 示 图 4 27 选 择 行 标 题 注 意 : 行 标 题 最 多 只 能 选 择 3 个 字 段 步 骤 4 选 择 列 标 题 : 选 择 性 别 字 段, 如 图 4 28 中 9 所 示, 在 对 话 框 的 右 下 方 可 以 看 到 交 叉 表 的 示 例 图, 单 击 下 一 步 按 钮, 如 图 4 28 中 10 所 示 图 4 28 选 择 列 标 题 注 意 : 列 标 题 只 能 选 择 1 个 字 段 步 骤 5 选 择 值 字 段 : 在 字 段 列 表 框 中 选 择 学 号, 如 图 4 29 中 11 所 示, 在 函 数
94 Access 2010 数 据 库 程 序 设 计 教 程 列 表 框 中 选 择 Count, 如 图 4 29 中 12 所 示, 取 消 勾 选 是, 包 括 各 行 小 计 复 选 框, 如 图 4 29 中 13 所 示, 然 后 单 击 下 一 步 按 钮, 如 图 4 29 中 14 所 示 图 4 29 为 交 叉 表 选 择 计 算 值 注 意 : 如 果 需 要 小 计, 则 勾 选 该 复 选 框 步 骤 6 在 文 本 框 中 输 入 查 询 名 称 各 专 业 男 女 人 数 _ 交 叉 表, 如 图 4 30 中 15 所 示, 选 择 查 看 查 询 单 选 按 钮, 如 图 4 30 中 16 所 示, 然 后 单 击 完 成 按 钮, 如 图 4 30 中 17 所 示 图 4 30 指 定 查 询 的 名 称 步 骤 7 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 显 示 出 查 询 的 数 据 记 录, 如 图 4 31 所 示 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 各 专 业 男 女 人 数 _ 交 叉 表 在 选 择 计 算 值 时, 若 选 择 了 是, 包 括 各 行 小 计 复 选 框, 结 果 就 应 该 如 图 4 32 所 示
第 4 章 查 询 95 图 4 31 交 叉 表 查 询 结 果 图 4 32 包 括 各 行 小 计 的 交 叉 表 查 询 结 果 4.3.3 使 用 设 计 视 图 例 4 8 利 用 设 计 视 图 创 建 学 生 各 科 成 绩 交 叉 表 查 询, 显 示 学 生 各 科 成 绩 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮 在 显 示 表 对 话 框 中 选 择 学 生 课 程 和 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 姓 名 字 段 课 程 表 中 的 课 程 名 字 段 成 绩 表 中 的 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 33 中 1 2 3 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 交 叉 表 按 钮 步 骤 4 修 改 姓 名 字 段 交 叉 表 行 为 行 标 题, 课 程 名 字 段 为 列 标 题, 成 绩 字 段 为 值, 如 图 4 33 中 4 5 6 所 示, 并 修 改 成 绩 字 段 总 计 行 为 合 计, 如 图 4 33 中 7 所 示 图 4 33 设 置 交 叉 表
96 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 5 据 记 录, 如 图 4 34 所 示 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 显 示 查 询 出 的 数 图 4 34 交 叉 表 查 询 结 果 步 骤 6 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 学 生 各 科 成 绩 _ 交 叉 表 4.4 创 建 参 数 查 询 查 询 了 前 面 介 绍 的 查 询 都 是 在 条 件 固 定 的 情 况 下, 如 果 用 户 希 望 条 件 不 固 定, 就 需 要 用 到 参 数 参 数 查 询 是 动 态 的, 是 通 过 对 话 框 提 示 用 户 输 入 信 息 来 查 找 符 合 要 求 的 记 录 的, 用 户 可 以 建 立 单 参 数 的 查 询, 也 可 以 建 立 多 参 数 的 查 询 4.4.1 单 参 数 查 询 单 参 数 查 询 是 指 在 字 段 中 只 指 定 一 个 参 数, 运 行 查 询 时, 用 户 只 需 输 入 一 个 参 数 进 行 查 询 例 4 9 建 立 一 个 参 数 查 询, 根 据 请 输 入 成 绩 : 提 示 框 的 提 示 输 入 成 绩, 查 找 符 合 条 件 的 学 生 基 本 信 息, 要 求 显 示 姓 名 性 别 专 业 课 程 名 成 绩 字 段 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 课 程 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 以 上 三 个 表 中 的 姓 名 性 别 专 业 课 程 名 和 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 35 中 1 2 3 4 所 示, 并 在 成 绩 字 段 列 的 条 件 行 中 输 入 查 询 条 件 : [ 请 输 入 成 绩 :], 如 图 4 35 中 5 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 显 示 / 隐 藏 组 中 的 参 数 按 钮, 弹 出 查 询 参 数 对 话 框, 在 参 数 列 的 第 一 行 输 入 : 请 输 入 成 绩 :, 在 数 据 类 型 列 的 第 一 行 的 下 拉 列 表 框 中 选 择 长 整 型, 如 图 4 36 中 6 7 所 示, 单 击 确 定 按 钮, 如 图 4 36 中 8 所 示 注 意 :1 参 数 的 名 称 一 定 要 与 前 面 条 件 处 的 参 数 名 称 一 致 ; 2 选 择 参 数 的 数 据 类 型 时 一 定 要 和 相 应 字 段 的 数 据 类 型 一 致
第 4 章 查 询 97 图 4 35 定 义 查 询 条 件 图 4 36 查 询 参 数 对 话 框 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 输 入 参 数 值 对 话 框, 输 入 85, 单 击 确 定 按 钮, 如 图 4 37 中 9 10 所 示 图 4 37 输 入 参 数 值 对 话 框 步 骤 5 生 成 绩 _ 单 参 数 查 询 查 询 结 果 如 图 4 38 所 示, 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 学
98 Access 2010 数 据 库 程 序 设 计 教 程 图 4 38 单 参 数 查 询 结 果 4.4.2 多 参 数 查 询 多 参 数 查 询 就 是 在 字 段 中 指 定 多 个 参 数, 查 询 运 行 时, 需 要 用 户 输 入 多 个 参 数 例 4 10 建 立 学 生 成 绩 多 参 数 查 询, 要 求 查 询 成 绩 介 于 80~90 分 之 间 学 生 的 基 本 信 息, 显 示 姓 名 性 别 专 业 课 程 名 成 绩 字 段 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 课 程 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 以 上 三 个 表 中 的 姓 名 性 别 专 业 课 程 名 和 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 39 中 1 2 3 4 所 示, 并 在 成 绩 字 段 列 的 条 件 行 中 输 入 查 询 条 件 : Between [ 请 输 入 最 低 成 绩 :] And [ 请 输 入 最 高 成 绩 :], 如 图 4 39 中 5 所 示 图 4 39 定 义 查 询 条 件 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 显 示 / 隐 藏 组 中 的 参 数 按 钮, 弹 出 查 询 参 数 对 话 框, 在 参 数 列 的 第 一 行 输 入 : 请 输 入 最 低 成 绩 :, 在 数 据 类 型 列 的 第 一 行 的 下 拉 列 表 框 中 选 择 长 整 型 ; 在 参 数 列 的 第 二 行 输 入 : 请 输 入 最 高 成 绩 :, 在 数 据 类 型 列 的 第 二 行 的 下 拉 列 表 框 中 选 择 长 整 型, 如 图 4 40 中 6 7 所 示, 单 击 确 定 按 钮, 如 图 4 40 中 8 所 示 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 两 个 输 入 参 数 值 对 话 框, 分 别 输 入 80 和 90, 单 击 确 定 按 钮, 如 图 4 41 中 9 10 和 图 4 42 中 11 12 所 示 步 骤 5 生 成 绩 _ 多 参 数 查 询 查 询 结 果 如 图 4 43 所 示, 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 命 名 为 学
第 4 章 查 询 99 图 4 40 定 义 参 数 图 4 41 输 入 第 一 个 参 数 图 4 42 输 入 第 二 个 参 数 图 4 43 多 参 数 查 询 结 果 4.5 创 建 操 作 查 询 前 面 介 绍 的 查 询 都 是 在 原 有 数 据 上 进 行 查 找, 不 能 修 改 原 始 数 据, 但 有 时 我 们 希 望 在 查 找 数 据 的 同 时 能 快 速 地 修 改 数 据, 这 就 需 要 用 到 操 作 查 询
100 Access 2010 数 据 库 程 序 设 计 教 程 操 作 查 询 在 查 找 数 据 的 同 时 还 能 进 行 创 建 删 除 更 改 和 增 加 等 操 作, 一 个 操 作 可 以 更 改 许 多 记 录, 所 以 在 使 用 操 作 查 询 时, 应 该 十 分 小 心 操 作 查 询 包 括 生 成 表 查 询 删 除 查 询 更 新 查 询 和 追 加 查 询 4 种 4.5.1 生 成 表 查 询 生 成 表 查 询 就 是 从 一 个 或 多 个 表 中 提 取 有 用 数 据, 创 建 为 新 的 表 如 果 需 要 经 常 从 多 个 表 中 提 取 数 据, 最 有 效 的 方 法 就 是 使 用 生 成 表 查 询, 将 从 多 个 表 中 提 取 的 数 据 生 成 一 个 新 表, 永 久 保 存 例 4 11 创 建 一 个 新 表, 表 名 为 大 学 计 算 机 基 础 成 绩, 将 学 生 的 大 学 计 算 机 基 础 成 绩 永 久 保 存 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 课 程 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 学 号 姓 名 字 段, 课 程 表 中 的 课 程 名 字 段, 成 绩 表 中 的 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 44 中 1 2 3 所 示 步 骤 3 在 课 程 名 字 段 列 的 条 件 行 输 入 大 学 计 算 机 基 础, 如 图 4 44 中 4 所 示 图 4 44 添 加 字 段 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 生 成 表 按 钮, 弹 出 生 成 表 对 话 框, 在 表 名 称 文 本 框 中 输 入 大 学 计 算 机 基 础 成 绩, 如 图 4 46 中 5 所 示, 并 选 择 当 前 数 据 库 单 选 按 钮, 如 图 4 45 中 6 所 示, 然 后 单 击 确 定 按 钮, 如 图 4 46 中 7 所 示 图 4 45 生 成 表 对 话 框
第 4 章 查 询 101 步 骤 5 单 击 开 始 选 项 卡 中 视 图 组 视 图 下 拉 菜 单 中 的 数 据 表 视 图 命 令, 查 看 是 不 是 自 己 想 要 的 数 据, 如 果 是 就 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 提 示 框, 单 击 是 按 钮, 如 图 4 46 中 8 所 示, 完 成 生 成 表 查 询 创 建 ; 如 果 不 是 又 回 到 设 计 视 图 进 行 修 改 图 4 46 提 示 框 步 骤 6 双 击 大 学 计 算 机 基 础 成 绩 表, 结 果 如 图 4 47 所 示 图 4 47 大 学 计 算 机 基 础 成 绩 表 4.5.2 删 除 查 询 删 除 查 询 是 从 一 个 或 多 个 表 中 删 除 一 组 记 录 例 4 12 创 建 删 除 查 询, 从 成 绩 表 中 删 除 成 绩 为 优 秀 (>=90) 的 数 据 记 录 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 成 绩 表 中 的 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 48 中 1 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 删 除 按 钮, 并 在 成 绩 字 段 列 的 条 件 行 输 入 : >=90, 如 图 4 48 中 2 所 示 图 4 48 添 加 条 件
102 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 4 单 击 开 始 选 项 卡 中 视 图 组 视 图 下 拉 菜 单 中 的 数 据 表 视 图 命 令, 查 看 是 不 是 自 己 想 要 的 数 据, 如 果 是 就 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 提 示 框, 单 击 是 按 钮, 如 图 4 49 中 3 所 示, 完 成 删 除 表 查 询 创 建 ; 如 果 不 是 就 回 到 设 计 视 图 进 行 修 改 图 4 49 提 示 框 步 骤 5 双 击 成 绩 表, 结 果 如 图 4 50 所 示 图 4 50 删 除 后 的 成 绩 表 4.5.3 更 新 查 询 更 新 查 询 是 从 一 个 或 多 个 表 中 更 新 一 组 记 录 例 4 13 使 用 更 新 查 询, 从 学 生 表 中 更 新 性 别 字 段, 把 男 改 为 男 性 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 学 生 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 性 别 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 51 中 1 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 更 新 按 钮, 并 在 性 别 字 段 列 的 条 件 行 输 入 男, 在 更 新 到 行 输 入 [ 性 别 ]+" 性 ", 如 图 4 51 中 2 所 示
第 4 章 查 询 103 图 4 51 添 加 条 件 和 更 新 步 骤 4 单 击 开 始 选 项 卡 中 视 图 组 视 图 下 拉 菜 单 中 的 数 据 表 视 图 命 令, 查 看 是 不 是 自 己 想 要 的 数 据, 如 果 是 就 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 提 示 框, 单 击 是 按 钮, 如 图 4 52 中 3 所 示, 完 成 更 新 表 查 询 创 建 ; 如 果 不 是 就 回 到 设 计 视 图 进 行 修 改 图 4 52 提 示 框 步 骤 5 双 击 学 生 表, 结 果 如 图 4 53 中 4 所 示 图 4 53 更 新 后 的 学 生 表 4.5.4 追 加 查 询 追 加 查 询 是 将 一 个 或 多 个 表 中 的 一 组 记 录 添 加 到 已 经 存 在 的 表 中 例 4 14 在 教 务 管 理 数 据 库 中, 先 使 用 生 成 表 查 询 建 立 两 个 表 60 分 以 上 60 分
104 Access 2010 数 据 库 程 序 设 计 教 程 以 下, 然 后 使 用 追 加 查 询, 将 60 分 以 下 表 中 的 数 据 追 加 到 60 分 以 上 表 中 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 将 成 绩 表 添 加 到 查 询 设 计 窗 口 中, 并 双 击 成 绩 表 中 的 学 号 课 程 号 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 54 中 1 所 示, 在 成 绩 字 段 列 的 条 件 行 输 入 : >=60, 如 图 4 54 中 2 所 示 图 4 54 添 加 字 段 和 条 件 步 骤 2 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 生 成 表 按 钮, 弹 出 生 成 表 对 话 框, 在 表 名 称 文 本 框 中 输 入 60 分 以 上 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 提 示 框, 单 击 是 按 钮, 完 成 新 表 创 建 同 理 创 建 60 分 以 下 表 步 骤 3 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 将 60 分 以 下 表 添 加 到 查 询 设 计 窗 口 中, 如 图 4 55 中 3 所 示 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 查 询 类 型 组 中 的 追 加 按 钮, 弹 出 追 加 对 话 框, 在 表 名 称 文 本 框 中 输 入 或 选 择 60 分 以 上, 如 图 4 55 中 4 所 示, 选 择 当 前 数 据 库 单 选 按 钮, 如 图 4 55 中 5 所 示, 然 后 单 击 确 定 按 钮, 如 图 4 55 中 6 所 示 图 4 55 追 加 对 话 框 步 骤 5 双 击 60 分 以 下 表 中 的 学 号 课 程 号 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 56 中 7 所 示
第 4 章 查 询 105 图 4 56 添 加 字 段 步 骤 6 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 弹 出 提 示 框, 单 击 是 按 钮, 如 图 4 57 中 8 所 示, 60 分 以 下 表 中 的 所 有 记 录 都 追 加 到 了 60 分 以 上 表 中 图 4 57 提 示 框 步 骤 7 双 击 打 开 60 分 以 上 表, 可 以 看 见 追 加 的 记 录 显 示 在 原 记 录 的 后 面, 如 图 4 58 中 9 所 示 图 4 58 追 加 后 的 60 分 以 上 表 注 意 : 追 加 的 字 段 和 追 加 目 标 的 字 段 一 定 要 一 致 ( 字 段 名 和 类 型 )
106 Access 2010 数 据 库 程 序 设 计 教 程 4.6 创 建 SQL 查 询 SQL 查 询 是 指 用 SQL 语 句 创 建 的 查 询 SQL(Structured Query Language, 结 构 化 查 询 语 言 ) 是 关 系 数 据 库 的 标 准 语 言, 它 功 能 丰 富 语 言 简 洁, 因 而 备 受 欢 迎 SQL 集 数 据 查 询 数 据 操 纵 数 据 定 义 和 数 据 控 制 功 能 于 一 体 4.6.1 SQL 视 图 实 际 上 Access 的 查 询 都 是 以 SQL 为 基 础 的 查 询, 每 一 个 查 询 都 是 与 SQL 语 句 一 一 对 应 的, 查 询 过 程 的 实 质 就 是 生 成 一 条 SQL 语 句 当 使 用 设 计 视 图 创 建 一 个 查 询 时, 就 构 造 了 一 个 等 价 的 SQL 语 句 查 询 设 计 视 图 和 相 应 的 SQL 视 图 如 图 4 59 和 图 4 60 所 示 图 4 59 查 询 设 计 视 图 图 4 60 SQL 视 图 打 开 SQL 视 图 的 方 法 是 : 先 打 开 查 询 设 计 视 图, 然 后 单 击 开 始 选 项 卡 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令 4.6.2 SQL 基 本 语 句 1.SQL 数 据 定 义 SQL 数 据 定 义 包 括 定 义 数 据 表 索 引 视 图 和 数 据 库 表 4 19 列 出 的 是 其 基 本 语 句
第 4 章 查 询 107 表 4 19 SQL 的 数 据 定 义 语 句 操 作 对 象 创 建 语 句 删 除 语 句 修 改 语 句 基 本 表 Create Table Drop Table Alter Table 索 引 Create Index Drop Index 视 图 Create View Drop View 数 据 库 Create Database Drop Database Alter Database 2.SQL 基 本 语 句 SQL 基 本 语 句 包 括 查 询 语 句 (Select) 插 入 语 句 (Insert) 删 除 语 句 (Delete) 和 修 改 语 句 (Update) (1)Select 语 句 Select 语 句 是 SQL 语 言 中 使 用 最 频 繁 的 语 句, 也 是 在 Access 中 常 见 的 SQL 基 本 语 句 本 书 只 要 求 掌 握 Select 语 句, 对 其 他 语 句 不 作 要 求 Select 语 句 的 基 本 格 式 如 下 : SELECT [ALL DISTINCT] * < 字 段 列 表 > FROM < 表 名 > [WHERE < 条 件 >] [GROUP BY < 字 段 名 > [HAVING < 条 件 表 达 式 >] ] [ORDER BY < 字 段 名 > [ASC DESC] ] 各 个 参 量 的 说 明 如 下 : ALL: 查 询 结 果 是 数 据 源 全 部 数 据 的 记 录 集 ; DISTINCT: 查 询 结 果 是 不 包 含 重 复 行 的 记 录 集 ; WHERE < 条 件 表 达 式 >: 说 明 查 询 条 件 ; GROUP BY < 分 组 字 段 名 >: 用 于 对 查 询 结 果 进 行 分 组, 可 以 利 用 它 进 行 分 类 汇 总 ; HAVING < 条 件 表 达 式 >: 必 须 和 GROUP BY 一 起 使 用, 用 来 限 定 分 组 必 须 满 足 的 条 件 ; ORDER BY < 排 序 字 段 名 >: 用 来 对 查 询 结 果 进 行 排 序, 默 认 为 升 序 排 列 ASC: 查 询 结 果 按 < 排 序 字 段 名 > 升 序 排 列 ; DESC: 查 询 结 果 按 < 排 序 字 段 名 > 降 序 排 列 例 4 15 在 教 务 管 理 数 据 库 中 查 找 学 生 表 中 性 别 为 女 的 学 生, 并 以 学 号 排 序, 显 示 学 号 姓 名 性 别 字 段 步 骤 1 打 开 查 询 设 计 视 图, 单 击 开 始 选 项 卡 视 图 组 中 的 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令, 并 输 入 SQL 语 句, 如 图 4 61 所 示 所 示 步 骤 2 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 结 果 如 图 4 62 图 4 61 SQL 视 图 图 4 62 查 询 结 果
108 Access 2010 数 据 库 程 序 设 计 教 程 (2)Insert 语 句 Insert 语 句 用 于 将 一 条 新 记 录 插 入 到 指 定 表 中 Insert 语 句 的 一 般 语 法 格 式 为 : Insert Into < 表 名 >[< 字 段 列 表 >] Values(< 常 量 列 表 >) 例 4 16 向 学 生 表 中 插 入 一 条 记 录, 学 号 为 2001010205, 姓 名 为 张 红, 性 别 为 女 步 骤 1 打 开 查 询 设 计 视 图, 单 击 开 始 选 项 卡 视 图 组 中 的 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令, 并 输 入 SQL 语 句, 如 图 4 63 所 示 图 4 63 SQL 视 图 步 骤 2 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 然 后 打 开 学 生 表, 结 果 如 图 4 64 中 1 所 示 图 4 64 查 询 结 果 (3)Update 语 句 Update 语 句 用 于 实 现 数 据 的 修 改 功 能, 能 够 对 指 定 表 所 有 的 记 录 或 满 足 条 件 的 记 录 进 行 修 改 操 作 Update 语 句 的 一 般 语 法 格 式 为 : Update < 表 名 > Set < 字 段 名 >=< 表 达 式 > [ WHERE< 条 件 >] 例 4 17 修 改 学 生 表 中 所 有 性 别 为 男 的 记 录, 把 性 别 字 段 的 值 改 为 男 性 步 骤 1 打 开 查 询 设 计 视 图, 单 击 开 始 选 项 卡 视 图 组 中 的 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令, 并 输 入 SQL 语 句, 如 图 4 65 所 示 图 4 65 SQL 视 图 步 骤 2 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 然 后 打 开 学 生 表, 结 果 如 图 4 66 中 1 所 示
第 4 章 查 询 109 图 4 66 SQL 视 图 结 果 (4)Delete 语 句 Delete 语 句 用 于 实 现 数 据 的 删 除 功 能, 能 够 对 指 定 表 所 有 的 记 录 或 满 足 条 件 的 记 录 进 行 删 除 操 作 Delete 语 句 的 一 般 语 法 格 式 为 : Delete From< 表 名 > [Where< 条 件 >] 例 4 18 删 除 学 生 表 中 所 有 性 别 为 男 性 的 记 录 步 骤 1 打 开 查 询 设 计 视 图, 单 击 开 始 选 项 卡 视 图 组 中 的 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令, 并 输 入 SQL 语 句, 如 图 4 67 所 示 图 4 67 SQL 视 图 步 骤 2 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 然 后 打 开 学 生 表, 结 果 如 图 4 68 所 示 图 4 68 查 询 结 果 注 意 :Insert Delete Update 语 句 统 称 为 数 据 更 新 语 句 4.6.3 创 建 SQL 特 定 查 询 前 面 提 到 的 查 询 都 是 和 SQL 查 询 一 一 对 应 的, 但 有 些 查 询 在 向 导 和 设 计 视 图 里 是 无 法 创 建 的, 这 就 需 要 特 定 的 SQL 查 询 SQL 特 定 查 询 分 为 联 合 查 询 传 递 查 询 数 据 定 义 查 询 和 子 查 询 4 种 1. 联 合 查 询 联 合 查 询 是 将 一 个 或 多 个 表 或 查 询 的 结 果 组 合 为 一 个 列 表 使 用 Union 联 合 查 询 语 句 时,
110 Access 2010 数 据 库 程 序 设 计 教 程 字 段 数 目 和 字 段 数 据 类 型 都 必 须 相 同 例 4 19 使 用 联 合 查 询 将 成 绩 表 中 成 绩 低 于 60 分 的 学 号 成 绩 字 段 与 学 生 成 绩 查 询 中 成 绩 高 于 90 分 的 学 号 成 绩 字 段 合 并 起 来 步 骤 1 打 开 查 询 设 计 视 图, 单 击 开 始 选 项 卡 视 图 组 中 的 视 图 下 拉 菜 单 中 的 SQL 视 图 命 令 步 骤 2 在 查 询 工 具 - 设 计 选 项 卡 中 的 查 询 类 型 组 中 单 击 联 合 查 询 按 钮, 并 在 SQL 视 图 窗 口 中 输 入 带 有 Union 运 算 的 Select 语 句, 如 图 4 69 所 示 所 示 图 4 69 SQL 视 图 步 骤 3 在 查 询 工 具 - 设 计 选 项 卡 中 的 结 果 组 中 单 击 运 行 按 钮, 结 果 如 图 4 70 图 4 70 Union 运 算 的 结 果 2. 传 递 查 询 传 递 查 询 是 Access 自 身 不 执 行 查 询, 而 是 传 递 给 数 据 库 执 行 在 创 建 传 递 查 询 时, 首 先 要 建 立 和 数 据 库 之 间 的 连 接, 然 后 在 SQL 窗 口 中 输 入 相 应 的 SQL 语 句 3. 数 据 定 义 查 询 数 据 定 义 查 询 是 直 接 创 建 删 除 或 更 改 数 据 库 表 或 索 引 (1)Create 语 句 Create 语 句 用 于 创 建 表 和 索 引, 具 体 格 式 如 下 : Create Table< 表 名 >(< 字 段 名 1> < 数 据 类 型 1>[ 约 束 条 件 1], 各 个 参 量 的 说 明 如 下 : 表 名 : 定 义 表 的 名 称 字 段 名 : 定 义 表 中 字 段 的 名 称 < 字 段 名 2 > < 数 据 类 型 2>[ 约 束 条 件 2] ]) 数 据 类 型 : 对 应 字 段 的 数 据 类 型, 可 以 取 值 为 Char( 文 本 ) Number( 数 字 ) Date( 日 期 ) Money( 货 币 ) 约 束 条 件 : 对 字 段 的 约 束, 可 以 取 值 为 Primary ( 主 键 ) Not Null ( 字 段 不 能 为 空 ) Unique ( 字 段 值 唯 一 )
第 4 章 查 询 111 所 示 例 4 20 使 用 Create 语 句, 创 建 一 个 教 师 数 据 表 步 骤 1 打 开 查 询 设 计 视 图, 转 换 到 SQL 视 图, 并 输 入 创 建 表 的 语 句, 如 图 4 71 图 4 71 SQL 视 图 步 骤 2 在 查 询 工 具 - 设 计 选 项 卡 中 的 结 果 组 中 单 击 运 行 按 钮, 自 动 在 当 前 数 据 库 中 创 建 教 师 数 据 表, 如 图 4 72 所 示 图 4 72 教 师 数 据 表 所 示 (2)Alter 语 句 Alter 语 句 用 于 向 数 据 表 中 添 加 或 修 改 字 段, 具 体 格 式 如 下 : 说 明 : Alter Table < 表 名 >[ADD < 新 字 段 名 > < 数 据 类 型 >[ 约 束 条 件 ] [DROP[< 字 段 名 >] ] [ALTER < 字 段 名 > < 数 据 类 型 >] ADD: 用 于 增 加 新 字 段 和 该 字 段 的 约 束 条 件 ; DROP: 用 于 删 除 指 定 的 字 段 ; ALTER: 用 于 修 改 原 有 字 段 属 性 例 4 21 使 用 Alter 语 句, 为 教 师 表 添 加 参 工 日 期 字 段 步 骤 1 打 开 查 询 设 计 视 图, 转 换 到 SQL 视 图, 并 输 入 修 改 表 的 语 句, 如 图 4 73 图 4 73 SQL 视 图 步 骤 2 在 查 询 工 具 - 设 计 选 项 卡 中 的 结 果 组 中 单 击 运 行 按 钮, 自 动 在 教 师 数 据 表 末 尾 增 加 参 工 日 期 字 段, 如 图 4 74 中 1 所 示 图 4 74 增 加 参 工 日 期 字 段 的 结 果 (3)Drop 语 句 Drop 语 句 用 于 删 除 数 据 表 索 引 和 视 图, 具 体 格 式 如 下 : Drop Table < 表 名 > Drop Index < 索 引 名 > Drop View < 视 图 名 >
112 Access 2010 数 据 库 程 序 设 计 教 程 例 4 22 使 用 Drop 语 句, 删 除 创 建 好 的 教 师 数 据 表 步 骤 1 打 开 查 询 设 计 视 图, 转 换 到 SQL 视 图, 并 输 入 删 除 表 的 语 句, 如 图 4 75 所 示 步 骤 2 在 查 询 工 具 - 设 计 选 项 卡 中 的 结 果 组 中 单 击 运 行 按 钮, 自 动 删 除 教 师 数 据 表 4. 子 查 询 子 查 询 是 嵌 套 在 其 他 查 询 中 的 查 询, 它 不 能 作 为 单 独 的 查 询 独 立 存 在, 必 须 与 其 他 查 询 相 结 合 使 用 例 4 23 查 询 并 显 示 成 绩 表 中 高 于 平 均 成 绩 的 学 生 记 录 步 骤 1 打 开 教 务 管 理 数 据 库, 单 击 创 建 选 项 卡 的 查 询 组 中 的 查 询 设 计 按 钮, 打 开 查 询 设 计 视 图 在 显 示 表 对 话 框 中 选 择 成 绩 表, 添 加 到 查 询 设 计 窗 口 中 步 骤 2 双 击 学 生 表 中 的 * 以 把 该 表 中 的 所 有 字 段 添 加 到 设 计 网 格 中, 如 图 4 76 中 1 所 示, 再 次 双 击 成 绩 字 段 以 添 加 到 设 计 网 格 中, 如 图 4 76 中 2 所 示 步 骤 3 取 消 成 绩 字 段 的 勾 选, 如 图 4 76 中 3 所 示, 在 成 绩 字 段 的 条 件 行 中 输 入 >(select avg([ 成 绩 ]) from 成 绩 ), 如 图 4 76 中 4 所 示 图 4 75 SQL 视 图 图 4 76 设 计 子 查 询 所 示 步 骤 4 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 查 询 结 果 如 图 4 77 图 4 77 子 查 询 结 果
第 4 章 查 询 113 步 骤 5 单 击 快 速 访 问 工 具 栏 中 的 保 存 按 钮, 保 存 为 子 查 询 4.7 编 辑 和 修 改 查 询 查 询 创 建 完 成 后, 运 行 的 结 果 有 可 能 不 是 自 己 想 要 的, 这 就 需 要 修 改 查 询 修 改 查 询 的 工 作 在 查 询 设 计 视 图 中 进 行 列 中 4.7.1 编 辑 和 修 改 字 段 1. 添 加 字 段 添 加 字 段 的 方 法 有 很 多 种 : (1) 单 击 某 个 字 段, 然 后 把 该 字 段 拖 拽 到 空 白 字 段 列 (2) 双 击 某 个 字 段 (3) 双 击 *, 虽 然 * 只 占 一 个 字 段 列, 但 它 代 表 把 该 表 的 全 部 字 段 都 添 加 到 字 段 2. 删 除 字 段 例 4 24 删 除 学 生 成 绩 查 询 中 的 姓 名 字 段 步 骤 1 打 开 教 务 管 理 数 据 库, 选 择 查 询 对 象 中 需 要 修 改 的 学 生 成 绩 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 学 生 成 绩 查 询 设 计 视 图 窗 口 步 骤 2 在 查 询 设 计 网 格 中, 把 光 标 放 置 在 姓 名 字 段 列 上 方, 出 现 向 下 箭 头 形 状, 单 击 鼠 标, 姓 名 字 段 列 反 显 ( 黑 底 白 字 ), 如 图 4 78 中 1 所 示 图 4 78 选 择 字 段 列 按 钮 步 骤 3 按 键 盘 上 的 Delete 键 或 在 查 询 工 具 选 项 卡 的 查 询 设 置 组 中 单 击 删 除 列 步 骤 4 单 击 快 速 访 问 工 具 栏 上 的 保 存 按 钮, 保 存 对 字 段 的 修 改, 可 以 单 击 运 行 按 钮 查 看 结 果 3. 插 入 字 段 例 4 25 在 学 生 成 绩 查 询 的 课 程 名 字 段 前 插 入 专 业 字 段 步 骤 1 打 开 教 务 管 理 数 据 库, 选 择 查 询 对 象 中 需 要 修 改 的 学 生 成 绩 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 学 生 成 绩 查 询 设 计 视 图 窗 口
114 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 2 把 学 生 表 的 专 业 字 段 拖 拽 到 课 程 名 字 段 列 处, 原 来 位 置 处 的 字 段 列 就 依 次 向 后 移, 如 图 4 79 中 1 所 示 图 4 79 插 入 字 段 列 步 骤 3 单 击 快 速 访 问 工 具 栏 上 的 保 存 按 钮, 保 存 对 字 段 的 修 改, 可 以 单 击 运 行 按 钮 查 看 结 果 4. 移 动 字 段 例 4 26 移 动 学 生 成 绩 查 询 中 的 学 号 字 段 到 姓 名 字 段 的 后 面 步 骤 1 打 开 教 务 管 理 数 据 库, 选 择 查 询 对 象 中 需 要 修 改 的 学 生 成 绩 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 学 生 成 绩 查 询 设 计 视 图 窗 口 步 骤 2 在 查 询 设 计 网 格 中, 把 光 标 放 置 在 学 号 字 段 列 上 方, 出 现 向 下 箭 头 形 状, 单 击 鼠 标, 学 号 字 段 列 被 选 中 步 骤 3 把 鼠 标 移 到 学 号 字 段 列 上 面, 鼠 标 呈 箭 头 形 状, 按 住 鼠 标 左 键 不 放 进 行 拖 动, 拖 动 到 姓 名 字 段 列 后 就 放 开 鼠 标, 如 图 4 80 中 1 所 示 图 4 80 移 动 字 段 列 步 骤 4 单 击 快 速 访 问 工 具 栏 上 的 保 存 按 钮, 保 存 对 字 段 的 修 改, 可 以 单 击 运 行 按 钮 查 看 结 果 5. 重 命 名 字 段 例 4 27 修 改 例 4 5 中 学 号 之 计 数 字 段 的 名 称 为 人 数
第 4 章 查 询 115 步 骤 1 打 开 教 务 管 理 数 据 库, 选 择 查 询 对 象 中 需 要 修 改 的 各 专 业 人 数 统 计, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 各 专 业 人 数 统 计 设 计 视 图 窗 口 步 骤 2 将 学 号 之 计 数 字 段 列 的 字 段 名 修 改 为 人 数 : 学 号, 如 图 4 81 中 1 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 结 果 如 图 4 82 中 1 所 示 图 4 81 修 改 字 段 名 称 图 4 82 修 改 字 段 名 称 结 果 4.7.2 编 辑 查 询 中 数 据 源 编 辑 查 询 中 的 数 据 源 包 括 添 加 表 和 查 询 删 除 表 和 查 询 1. 添 加 表 和 查 询 在 设 计 视 图 中 添 加 表 或 查 询 的 步 骤 如 下 : 步 骤 1 打 开 数 据 库, 选 择 需 要 修 改 的 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 设 计 视 图 窗 口 步 骤 2 在 查 询 工 具 - 设 计 选 项 卡 中 的 查 询 设 置 组 中 单 击 显 示 表 按 钮, 打 开 显 示 表 对 话 框, 选 择 需 要 添 加 的 表 或 查 询, 单 击 添 加 按 钮, 如 图 4 83 中 1 2 所 示 图 4 83 显 示 表 对 话 框
116 Access 2010 数 据 库 程 序 设 计 教 程 步 骤 3 单 击 关 闭 按 钮, 如 图 4 83 中 3 所 示, 关 闭 显 示 表 对 话 框 步 骤 4 单 击 快 速 访 问 工 具 栏 上 的 保 存 按 钮, 保 存 所 做 的 修 改 2. 删 除 表 和 查 询 在 设 计 视 图 中 删 除 表 或 查 询 的 步 骤 与 添 加 的 步 骤 相 似 步 骤 1 打 开 数 据 库, 选 择 需 要 修 改 的 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 打 开 设 计 视 图 窗 口 步 骤 2 选 择 需 要 删 除 的 表 或 查 询, 按 Delete 键 删 除 步 骤 3 单 击 快 速 访 问 工 具 栏 上 的 保 存 按 钮, 保 存 所 做 的 修 改 4.7.3 排 序 查 询 结 果 例 4 28 对 学 生 成 绩 查 询 的 成 绩 字 段 按 升 序 排 序 步 骤 1 打 开 教 务 管 理 数 据 库, 选 择 查 询 对 象 中 需 要 修 改 的 学 生 成 绩 查 询, 单 击 右 键, 在 弹 出 的 快 捷 菜 单 中 选 择 设 计 视 图 命 令, 如 图 4 84 中 1 2 所 示, 打 开 学 生 成 绩 查 询 设 计 视 图 窗 口 图 4 84 选 择 设 计 视 图 命 令 步 骤 2 在 设 计 视 图 中 的 成 绩 字 段 列 的 排 序 行 中 选 择 升 序 项, 如 图 4 85 中 3 所 示 步 骤 3 单 击 查 询 工 具 - 设 计 选 项 卡 结 果 组 中 的 运 行 按 钮, 运 行 排 序 后 的 结 果 如 图 4 86 所 示
第 4 章 查 询 117 图 4 85 选 择 排 序 方 法 图 4 86 运 行 排 序 的 结 果 课 后 练 习 1. 查 询 书 名 字 段 中 包 含 等 级 考 试 字 样 的 记 录, 应 该 使 用 的 条 件 是 ( ) A.Like " 等 级 考 试 " B.Like "* 等 级 考 试 C.Like " 等 级 考 试 *" D.Like "* 等 级 考 试 *" 2. 若 要 将 产 品 表 中 所 有 供 货 商 是 ABC 的 产 品 单 价 下 调 50, 则 正 确 的 SQL 语 句 是 ( ) A.UPDATE 产 品 SET 单 价 =50 WHERE 供 货 商 ="ABC" B.UPDATE 产 品 SET 单 价 = 单 价 50 WHERE 供 货 商 ="ABC" C.UPDATE FROM 产 品 SET 单 价 =50 WHERE 供 货 商 ="ABC" D.UPDATE FROM 产 品 SET 单 价 = 单 价 50 WHERE 供 货 商 ="ABC" 3. 学 生 表 中 有 学 号 姓 名 性 别 和 入 学 成 绩 等 字 段 执 行 如 下 SQL 命 令 后 的 结 果 是 ( ) Select avg( 入 学 成 绩 )From 学 生 表 Group by 性 别 A. 计 算 并 显 示 所 有 学 生 的 平 均 入 学 成 绩 B. 计 算 并 显 示 所 有 学 生 的 性 别 和 平 均 入 学 成 绩 C. 按 性 别 顺 序 计 算 并 显 示 所 有 学 生 的 平 均 入 学 成 绩 D. 按 性 别 分 组 计 算 并 显 示 不 同 性 别 学 生 的 平 均 入 学 成 绩
118 Access 2010 数 据 库 程 序 设 计 教 程 4. 在 Access 数 据 库 中 使 用 向 导 创 建 查 询, 其 数 据 可 以 来 自 ( ) A. 多 个 表 B. 一 个 表 C. 一 个 表 的 一 部 分 D. 表 或 查 询 5. 若 查 询 的 设 计 视 图 如 下 所 示, 则 查 询 的 功 能 是 ( ) A. 设 计 尚 未 完 成, 无 法 进 行 统 计 B. 统 计 班 级 信 息 仅 含 Null( 空 ) 值 的 记 录 个 数 C. 统 计 班 级 信 息 不 包 括 Null( 空 ) 值 的 记 录 个 数 D. 统 计 班 级 信 息 包 括 Null( 空 ) 值 全 部 记 录 个 数 6. 在 SQL 语 言 的 SELECT 语 句 中, 用 于 对 结 果 进 行 分 组 的 子 句 是 ( ) A.FROM B.WHILE C.GROUP BY D.ORDER BY 7. 有 商 品 表 内 容 如 下 : 部 门 号 商 品 号 商 品 名 称 单 价 数 量 产 地 40 0101 A 牌 电 风 扇 200.00 10 广 东 40 0104 A 牌 微 波 炉 350.00 10 广 东 40 0105 A 牌 微 波 炉 600.00 10 广 东 20 1032 C 牌 传 真 机 1000.00 20 上 海 40 0107 D 牌 微 波 炉 _A 420.00 10 北 京 20 0110 A 牌 电 话 机 200.00 50 广 东 20 0112 B 牌 手 机 2000.00 10 广 东 40 0202 A 牌 电 冰 箱 3000.00 2 广 东 30 1041 B 牌 计 算 机 6000.00 10 广 东 30 0204 C 牌 计 算 机 10000.00 10 上 海 执 行 SQL 命 令 : SELECT 部 门 号,MAX( 单 价 * 数 量 ) FROM 商 品 表 GROUP BY 部 门 号 ; 查 询 结 果 的 记 录 数 是 ( ) A.1 B.3 C.4 D.10
第 4 章 查 询 119 8. 在 Access 数 据 库 中 创 建 一 个 新 表, 应 该 使 用 的 SQL 语 句 是 ( ) A.CREATE TABLE C.ALTER TABLE 9. 与 下 面 这 条 查 询 语 句 B.CREATE INDEX D.CREATE DATABASE SELECT TAB1.* FROM TAB1 WHERE InStr([ 简 历 ]," 篮 球 ")<> 0 功 能 等 价 的 语 句 是 ( ) A.SELECT TAB1.* FROM TAB1 WHERE TAB1. 简 历 Like " 篮 球 " B.SELECT TAB1.* FROM TAB1 WHERE TAB1. 简 历 Like "* 篮 球 " C.SELECT TAB1.* FROM TAB1 WHERE TAB1. 简 历 Like "* 篮 球 *" D.SELECT TAB1.* FROM TAB1 WHERE TAB1. 简 历 Like " 篮 球 *" 10. 在 输 入 查 询 条 件 时, 日 期 型 数 据 应 该 使 用 适 当 的 分 隔 符 括 起 来, 正 确 的 分 隔 符 是 ( ) A.* B.% C.& D.# 11. 如 果 在 查 询 条 件 中 使 用 通 配 符 [], 其 含 义 是 ( ) A. 错 误 的 使 用 方 法 B. 通 配 任 意 长 度 的 字 符 C. 通 配 不 在 括 号 内 的 任 意 字 符 D. 通 配 方 括 号 内 任 一 单 个 字 符 12. 下 列 关 于 查 询 设 计 视 图 设 计 网 格 各 行 作 用 的 叙 述 中, 错 误 的 是 ( ) A. 总 计 行 用 于 对 查 询 的 字 段 进 行 求 和 B. 表 行 设 置 字 段 所 在 的 表 或 查 询 的 名 称 C. 字 段 行 表 示 可 以 在 此 输 入 或 添 加 字 段 的 名 称 D. 条 件 行 用 于 输 入 一 个 条 件 来 限 定 记 录 的 选 择 13. 若 在 查 询 条 件 中 使 用 了 通 配 符!, 它 的 含 义 是 ( ) A. 通 配 任 意 长 度 的 字 符 B. 通 配 不 在 括 号 内 的 任 意 字 符 C. 通 配 方 括 号 内 任 一 单 个 字 符 D. 错 误 的 使 用 方 法 14. 下 面 显 示 的 是 查 询 设 计 视 图 的 设 计 网 格 部 分, 从 所 显 示 的 内 容 中 可 以 判 断 出 该 查 询 要 查 找 的 是 ( ) A. 性 别 为 女 并 且 1980 年 以 前 参 加 工 作 的 记 录 B. 性 别 为 女 并 且 1980 年 以 后 参 加 工 作 的 记 录 C. 性 别 为 女 或 者 1980 年 以 前 参 加 工 作 的 记 录 D. 性 别 为 女 或 者 1980 年 以 后 参 加 工 作 的 记 录 15. 在 成 绩 中 要 查 找 成 绩 80 且 成 绩 90 的 学 生, 正 确 的 条 件 表 达 式 是 ( ) A. 成 绩 Between 80 And 90 B. 成 绩 Between 80 To 90 C. 成 绩 Between 79 And 91 D. 成 绩 Between 79 To 91
120 Access 2010 数 据 库 程 序 设 计 教 程 16. 在 Access 中 已 经 建 立 了 学 生 表, 若 查 找 学 号 是 S00001 或 S00002 的 记 录, 应 在 查 询 设 计 视 图 的 条 件 行 中 输 入 ( ) A."S00001" and "S00002" C.in("S00001", "S00002") B.not("S00001" and "S00002") D.not in("s00001", "S00002") 17. 如 果 在 数 据 库 中 已 有 同 名 的 表, 要 通 过 查 询 覆 盖 原 来 的 表, 应 该 使 用 的 查 询 类 型 是 ( ) A. 删 除 B. 追 加 C. 生 成 表 D. 更 新