学院首页>网络编程>ASP>动态网站设计十八般武艺——ASP篇(十一)

动态网站设计十八般武艺——ASP篇(十一)

作者:未知 来源:chinabyte 添加时间:2006-5-21 10:27:44
原 定 计 划 从 本 篇 开 始 就 要 给 大 家 介 绍 ASP 内 建 的 ActiveX 组 件,但 是 考 虑 到 我 们 在 往 后 的 学 习 中 将 会 接 触 到 大 量 的 数 据 库 查 询,因 此 作 者 临 时 决 定 花 一 到 两 篇 的 篇 幅 向 大 家 简 要 介 绍 一 些 数 据 库 查 询 语 言 的 基 本 知 识,这 其 实 也 是 学 习 ASP 所 必 须 掌 握 的 一 门 知 识。是 否 能 够 灵 活 地 运 用 数 据 库 查 询 语 言,将 直 接 关 系 到 ASP 程 序 的 执 行 效 率 等 一 系 列 问 题,所 以 请 各 位 务 必 重 视。 



   相 信 很 多 朋 友 都 听 说 过 SQL 这 个 名 字,如 果 你 是 计 算 机 方 面 的 行 家,SQL 的 大 名 一 定 是 如 雷 贯 耳。那 么 SQL 究 竟 是 什 么 呢?SQL 一 词 实 际 上 是 "Structured Query Language" 结 构 式 查 询 语 言 的 缩 写,是 用 于 对 存 放 在 计 算 机 数 据 库 中 的 数 据 进 行 组 织、管 理 和 检 索 的 一 种 工 具;是 一 种 特 定 类 型 的 数 据 库 -- 关 系 数 据 库。而 控 制 这 种 数 据 库 的 计 算 机 程 序 就 是 我 们 常 说 的 DBMS-- 数 据 库 管 理 系 统。譬 如:SQL Server、Oracle、Sybase、DB2 等 等。当 用 户 想 要 检 索 数 据 库 中 的 数 据 时,就 通 过 SQL 语 言 发 出 请 求,接 着 DBMS 对 该 SQL 请 求 进 行 处 理 并 检 索 所 要 求 的 数 据,最 后 将 其 返 回 给 用 户,此 过 程 被 称 作 为 数 据 库 查 询,这 也 就 是 数 据 库 查 询 语 言 这 一 名 称 的 由 来。 



   SQL 并 不 是 象 C、COBOL 和 Fortran 语 言 那 样 的 完 整 的 计 算 机 语 言。SQL 没 有 用 于 条 件 测 试 的 IF 语 句,也 没 有 用 于 程 序 分 支 的 Goto 语 句 以 及 循 环 语 句 For 或 Do。确 切 的 讲,SQL 是 一 种 数 据 库 子 语 言,SQL 语 句 可 以 被 嵌 入 到 另 一 种 语 言 中,从 而 使 其 具 有 数 据 库 存 取 功 能。SQL 也 非 严 格 的 结 构 式 语 言,它 的 句 法 更 接 近 英 语 语 句,因 此 易 于 理 解,大 多 数 SQL 语 句 都 是 直 述 其 意,读 起 来 就 象 自 然 语 言 一 样 明 了。SQL 还 是 一 种 交 互 式 查 询 语 言,允 许 用 户 直 接 查 询 存 储 数 据,利 用 这 一 交 互 特 性,用 户 可 以 在 很 短 的 时 间 内 回 答 相 当 复 杂 的 问 题,而 同 样 问 题 若 让 程 序 员 编 写 相 应 的 报 表 程 序 则 可 能 要 用 几 个 星 期 甚 至 更 长 时 间。 



   在 大 部 分 ASP 应 用 程 序 中 我 们 都 会 接 触 到 数 据 库,而 我 们 在 编 写 ASP 应 用 程 序 时 用 来 进 行 数 据 库 操 作 的 标 准 语 法 正 是 SQL,因 此 SQL 语 法 的 重 要 性 是 不 言 而 喻 的。下 面,我 们 就 从 最 常 用 的 SQL 语 句 SELECT 着 手,一 步 一 步 地 来 学 习 SQL。 



   查 询 是 SQL 语 言 的 核 心,而 用 于 表 达 SQL 查 询 的 SELECT 语 句 则 是 功 能 最 强 也 是 最 为 复 杂 的 SQL 语 句,它 从 数 据 库 中 检 索 数 据,并 将 查 询 结 果 提 供 给 用 户。在 本 文 中 我 们 将 建 立 一 个 名 为 tianjiao 的 简 单 数 据 库,该 库 中 存 放 了 一 个 叫 sales 的 销 售 记 录 表,如 下 所 示 : 



姓名 性别 工资 销售目标 销售额 地区 

书生 男 2500 8000 9000 上海 

吴冠军 男 3000 10000 9999 北京 

雷鸣 男 2000 8000 10000 四川 

雪儿 女 2500 5000 6000 广州 

顾一 男 2600 9000 9800 大连 

阿卓 女 2000 4000 4000 天津 

熠天 男 4000 20000 20000 全国 







   在 该 表 中 有 六 列 即 六 个 字 段 : 姓 名、性 别、工 资、销 售 目 标、销 售 额、地 区,首 先 我 们 用 Select 语 句 列 出 姓 名、销 售 目 标 和 销 售 额 : 



   Select 姓 名,销 售 目 标,销 售 额 From sales 



   结 果 如 下 : 

姓名 销售目标 销售额 

书生 8000 9000 

吴冠军 10000 9999 

雷鸣 8000 10000 

雪儿 5000 6000 

顾一 9000 9800 

阿卓 4000 4000 

熠天 20000 20000 







   然 后,我 们 再 列 出 所 有 男 性 的 姓 名、销 售 目 标 和 销 售 额 : 



   Select 姓 名,销 售 目 标,销 售 额 From sales Where 性 别 =" 男 " 



   结 果 如 下 : 

姓名 销售目标 销售额 

书生 8000 9000 

吴冠军 10000 9999 

雷鸣 8000 10000 

顾一 9000 9800 

熠天 20000 20000 







   接 下 来,我 们 做 一 个 相 对 复 杂 的 查 询,列 出 销 售 额 大 于 销 售 目 标 的 所 有 男 性 的 姓 名、销 售 目 标 和 销 售 额,并 且 按 销 售 目 标 排 序。 

  Select 姓 名,销 售 目 标,销 售 额 

  Form sales

  Where 销 售 额 > 销 售 目 标 

  And 性 别 =" 男 "

  Order By 销 售 目 标 





   结 果 如 下 : 

姓名 销售目标 销售额 

书生 8000 9000 

雷鸣 8000 10000 

顾一 9000 9800 

熠天 20000 20000 







   大 家 可 以 看 到,对 于 简 单 查 询,SQL Select 语 句 和 英 文 语 法 很 相 象,我 们 来 分 析 一 下 SELECT 语 句 的 完 整 格 式,它 包 括 六 个 子 句,其 中 SELECT 和 FROM 子 句 是 必 须 的,其 它 子 句 可 以 任 选,每 个 子 句 的 功 能 如 下 : 



   1、Select 子 句 列 出 所 有 要 求 SELECT 语 句 检 索 的 数 据 项。它 放 在 SELECT 语 句 开 始 处,指 定 此 查 询 要 检 索 的 数 据 项。这 些 数 据 项 通 常 用 选 择 表 表 示,即 一 组 用“,”隔 开 的 选 择 项。按 照 从 左 到 右 的 顺 序,每 个 选 择 项 产 生 的 一 个 列 的 查 询 结 果,一 个 选 择 项 可 



站内搜索