




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 5章 查询和视图 5.1 查询的创建和使用 5.1 查询的创建和使用 一是使用查询向导 ;二是使用查询设计器;三是直接编写 SELECT-SQL语句。VFP提供了 3种查询向导:查询向导叉表向导图形向导查询 向 导类 型功能 说 明查询 向 导 创 建一个 标 准的 查询 ,在浏览 窗口中 显 示 查询结果交叉表向 导 按 电 子表格的形式 显 示 查询结 果图 形向 导 以 图 形的形式 显 示 查询结果创建查询可以有三种方法: 三种查询向导的功能 :5.1.1 查询设计器 打开查询设计器有下列方法:(1) “项目管理器 ”选 “数据 ” 选项卡 选 “查询 ”。(2) “文件 ”菜单 “新建 ”选 “查询 ”。选 “常用 ” 工具栏 “新建 ”按钮。(3) 使用 CREATE QUERY命令。5.1.1 查询设计器为了较好地介绍查询设计器的功能,用一个例子穿插。 5.1.1 查询设计器要得到这个查询结果,需要学生成绩 (xscj)数据库的学生 xs)、课程 (kc)和成绩 (xskc)三个表。查询设计器工具栏按钮 :按 钮 名称 说 明添加表 为查询 添加表或 视图移去表 从 查询设计 器中移去指定的表添加 联 接 为查询 中的两个表 创 建 联 接显 示 /隐 藏 SQL窗口 显 示 /隐 藏当前 查询语 句的窗口最大化 /最小化上部窗格 放大 /缩 小 查询设计 器的数据 环 境窗口查询 去向 指定 查询结 果的 输 出 对 象5.1.1 查询设计器查询设计器上半部分为数据环境显示区,下半部分为查询创建区,包括 6个选项卡:选项 卡 说 明字段 设 置 查询输 出的字段或表达式联 接 设 置表之 间 的 联 接条件筛选 设 置 筛选记录 的条件排序依据 设 置 查询结 果排序的条件分 组 依据 设 置 查询结 果分 组 的条件杂项 设 置是否 对 重复 记录进 行 检 索,同 时 是否 对返回的 记录 个数做限制5.1.1 查询设计器1查询设计器介绍(1) 数据环境查询设计器上半部分数据环境显示区显示查询所使用的表或视图,选择 xs、 kc和成绩表后数据环境 。5.1.1查询设计器(2) 字段在 “查询设计器 ”中,选择 “字段 ”选项卡,在 “可用字段 ”框中出了查询数据环境中选择的数据库表的所有字段;选定字段:5.1.1 查询设计器(3) 联接进行多表查询时,把所有有关的表或视图添加到查询设计器 的数据环境中,为这些表建立联接。系统会打开 “联接条件 ”对话框,两个表的同名字段作为默认的联接条件 。联接条件对话框:5.1.1 查询设计器该对话框中有 4种联接类型:内部联接( Inner Join) 左联接( Left Outer Join)右联接( Right Outer Join) 完全联接( Full Join联 接 类 型 说 明内部 联 接 两个表中的字段都 满 足 联 接条件, 记录 才 选 入 查询结果左 联 接 联 接条件左 边 的表中的 记录 都包含在 查询结 果中,而右 边 的表中的 记录 只有 满 足 联 接条件 时 ,才 选 入查询结 果右 联 接 联 接条件右 边 的表中的 记录 都包含在 查询结 果中,而左 边 的表中的 记录 只有 满 足 联 接条件 时 ,才 选 入查询结 果完全 联 接 两个表中的 记录 不 论 是否 满 足 联 接条件,都 选 入 查询结 果中5.1.1 查询设计器两表之间的联接条件也可以通过查询设计器的 “联 ”选项卡来设置和修改。查询设计器的 “联接 ”选项卡 : (4) 筛选查询既可以查询所有记录,也可以查询满足某个条件的记录。5.1.1 查询设计器字段名 ”框用于选择要比较的字段; “条件 ”框用于设置比较的类型 , “实例 ”框用于指定比较的值;“筛选 ”卡中的一行就是一个关系表达式,所有的行构成一个逻辑表达式。条件 类 型 说 明= 字段 值 等于 实 例 值Like 字段 值 与 实 例 值 匹配= 字段 值 与 实 例 值严 格匹配(=) 字段 值 大于(大于或等于) 实 例的 值(=) 字段 值 小于(小于或等于) 实 例的 值Is NULL 字段 值为 “空 值 ”Between 字段 值 在某个 值 域内。 值 域由 实 例 给 出, 实 例中 给 出两个 值 ,两值 之 间 用逗号分开In 字段 值 在某个 值 表中, 值 表由 实 例 给 出, 实 例中 给 出若干 值 , 值与 值 之 间 用逗号分开5.1.1 查询设计器(5) 排序依据“排序条件 ”列表框中的顺序决定了排序的优先权。排序可以是升序,也可以是降序,在排序选项中选择。查询设计器的 “排序依据 ”选项卡:5.1.1 查询设计器(6) 分组依据在查询设计器中还有一个 “分组依据 ”选项卡。查询设计器的 “分组依据 ”选项卡:5.1.1 查询设计器(7) 杂项在 “查询设计器 ”的查询条件。查询设计 “杂项 ”选项卡中,可以设置一些特殊的器 “字段 ”选项卡:5.1.1 查询设计器(8) 选择查询结果的输出去向在 “查询设计器 ”选 “查询去向 ”按钮,打开查询去向对话框。系统默认值为查询结果显示在浏览窗口中 。“查询去向 ”对话框:5.1.1 查询设计器“查询去向 ”对话框输出去向输 出去向 说 明浏览 将 查询结 果 显 示在 “浏览 ”窗口临时 表 将 查询结 果存 储 在一 张 命名的只 读临时 表中表 将 查询结 果保存在一 张 表中图 形 将 查询结 果用于 Microsoft Graph应 用程序屏幕 将 查询结 果 显 示在 VFP主窗口或当前活 动 窗口报 表 将 查询结 果 输 出到一个 报 表文件标签 将 查询结 果 输 出到一个 标签 文件5.1.1 查询设计器2 生成 SQL语 句通 过选择 “查询 ”菜 单 中的 “查 看 SQL”项 或 单击查询设计 器的工具 栏 上的 “SQL”按 钮 看到所生成的SELECT-SQL语句。 5.1.1 查询设计器3.生成查询文件单击常用工具栏上的 “保存 “按钮 ”或文件 “菜单 ”中的 “保存 ”命令,输入文件名 (例如 xskc1),系统自动为该文件加上扩展名 ”.QPR”,即生成了查询文件 xskc1.QPR。该文件中保存的就是 SQL语句。 4运行 查询(1) 项 目管理器打开的情况下, 选择 要运行的 查询 文件, 单击项目管理器上的 “运行 ”按 钮 ,可运行 查询 。(2) 查询 文件打开的情况下, 单击 “常用 ”工具 栏 上的 “运行 ”按 钮或 “查询 ”菜单(或者快捷菜单)中的 “运行查询 ”项即可运行查询。(3) 在命令窗口或应用程序中用 DO 命令运行查询。 查询结果显示在 “浏览 ”窗口已经建立的查询用下列命令打开查询设计器修改查询。格式:MODIFY QUERY 查询文件名5.1.2 SQL查询语句 1. SELECT-SQL命令格式:SELECT ALL | DISTINCT TOP n PERCENT 列名 ,列名 .FROM 表名 ,表名 . | INNER | LEFT | RIGHT | FULL JOIN 表名 ON 联接条件 INTO ARRAY 数组名 | CURSOR 临时表名 | DBF 表名 | TABLE 表名 | TO FILE 文件名 ADDITIVE | TO PRINT PROMPT | TO SCREENWHERE 条件表达式 GROUP BY 列名 ,列名 .HAVING 条件 ORDER BY 表达式 ASC/DESC.5.1.2 SQL查询语句SELECT-SQL命令与 查询设计 器各 选项 卡的 对 比功能 SQL 查询语 句 查询设计 器设 置数据源表 FROM子句 定 义 数据 环 境设 置表 间 的 联 接条件 JOINON 子句 联 接 选项 卡设 置 输 出字段 SELECT子句 字段 选项 卡筛选 源表 记录 WHERE 子句 筛选选项 卡设 置 结 果 顺 序 ORDER BY子句 排序依据 选项 卡设 置 记录 的分 组 和 筛选 分组GROUP BY子句 分 组 依据 选项 卡指定有无重复 记录 ALL/DISTINCT 杂项选项 卡指定 结 果的范 围 TOP n PERCENT 杂项选项 卡设 置 输 出 类 型 INTO和 TO子句 设 置 查询 去向DISTINCT任选项要求消除查询结果中的重复项。 FROM子句指明查询的表或视图名。SELECT和 FROM子句是每个 SQL 查询语句所必须的WHERE 子句说明查询的条件。GROUP BY子句将表按列的值分组,列的值相同的分在一组,HAVING后的条件是选择组的条件,符合条件的组才能输出。ORDER BY子句值排序, ASC 表示升序, DESC表示降序。 5.1.2 SQL查询语句2. SELECT-SQL应用举例 (1) 简单查询【 例 5.1】 查询 xs表的全部信息。SELECT * ;FROM xs其中, * 表示全部的列。【 例 5.2】 查询已经开过的课程号。SELECT DISTINCT kch ;FROM xskc使用 DISTINCT 可消除重复的值,这里表示去掉重复的姓名。【 例 5.3】 查询学生的学号、姓名和年龄。SELECT 学号 ,姓名 ,YEAR(DATE()YEA R(出生时间 ) AS 年龄 ;FROM xsSELECT语句后面是列名。【 例 5.4】 查询学号为 01打头的学生的学 号、姓名和出生时间,并出生时间 从大到小排序。SELECT 学号 , 姓名 , 出生时间 ; FROM xs;WHERE LEFT(学号 ,2)=”01” ;ORDER BY 出生时间 DESC 排序查询ORDER BY子句中的 DESC是用来指明排序按降序。 5.1.2 SQL查询语句(2) 使用谓词查询 数据区间查询【 例 5.5】 查询学号在 01040101和 01040109之间的学生的学号 ,姓名 ,性别 , 出生时间。SELECT 学号 ,姓名 ,性别 , 出生时间 ;FROM xs;WHERE 学号 BETWEEN “01040101” AND “01040109”数据包含查询【 例 5.6】 查询计算机科学与技术和工商管理专业的学生学号和姓名。SELECT 学号 ,姓名 ;FROM xs;WHERE 专业 IN (计算机科学与技术 , 工商管理 )数据匹配查询【 例 5.X】 查询学号为 “01”打头的学生。SELECT * ;FROM xs;WHERE 学号 LIKE 01% FROM xscj!成绩 ;GROUP BY 成绩 .学号 ;ORDER BY 成绩 .学号 5.1.2 SQL查询语句【 例 5.9】 查询学生的学号、课程号、姓名、专业和成绩SELECT 成绩 .学号 , 成绩 .课程号 , Xs.姓名 , Xs.专业 , 成绩 .成绩 FROM xscj!xs INNER JOIN xscj!成绩 ON Xs.学号 = 成绩 .学号 GROUP BY 成绩 .学号 5.1.2 SQL查询语句【 例 5.10】 查询学生的编号 “01”和 “02”打头的学号和姓名。USE xsCOPY TO xs1 FOR LEFT(学号 ,2)=”01”COPY TO xs2 FOR LEFT(学号 ,2)=”02”USESELECT 学号 , 姓名 ;FROM xs1 ;UNION ;SELECT 学号 ,姓名 ;FROM XS2(4) 嵌套查询 【 例 5.11】 查询已上过的课程。SELECT 课程号 , 课程名 ;FROM kc ;WHERE 课程号 IN ( SELECT 课程号 ;FROM xskc ) 5.1.3 交叉表查询 (1) 字段选取选择销售 (xs)表的三个字段:客户名称 (KHMC)产品名称 (CPMC)数量 (SL)(2) 布局可以用鼠标把 “KHMC”字段拖到 “行 ”框中,把 “CPMC”字段拖到 “列 ”框中,把 “SL”字段拖到 “数据 ”框。(3) 加入总和信息为查询结果指定一个 “总计 ”列,这个 “总计 ”列将会被加入到查询结果的最右侧。(4) 完成单击 “预览 ”按钮可以查看查询的结果,如果对结果满意,就可以单击 “完成 ”按钮,结束交叉表向导的运行。5.2.1 创建本地视图 1视图设计器视图设计器查询设计器一样,上方用来设置数据环境;下方有 7个选项卡,用来设定视图选择数据的条件。在视图设计器中运行视图有两种方法:在视图设计器中打开视图后,在 “查询 ”菜单中选择 “运行查询 ”命令;在视图设计器中单击鼠标右键,弹出的快捷菜单中选择 “运行查询 ”命令。 5.2.1 创建本地视图2命令方式格式:CREATE SQL VIEW 视图名 AS SELECT-SQL语句也可把 SELECT-SQL语句存入一个变量,然后用宏替换在 CREATE SQL VIEW命令中 SELECT_SQL语句。例如,上面用视图设计器建立的视图实例可用下列命令完成:CREATE SQL VIEW xskc1 AS ;SELECT 成绩 .学号 , Xs.姓名 , 成绩 .课程号 , Kc.课程名 , 成绩 .成绩 ;FROM xscj!kc INNER JOIN xscj!成绩 ;INNER JOIN
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年澳门特别行政区卫生类临床医学专业知识试卷
- 2025年消防执业资格考试题库(专业技能提升题)消防安全管理与控制案例分析试题
- 2025年CPE考试试卷模拟:听力原文分析与2025年考试趋势
- 2025年法语TEF考试试卷写作模板与范文分析
- 2025年电梯司机(高级)职业技能鉴定试卷:电梯智能化改造案例分析
- 2025年泡沫玻璃项目立项申请报告模板
- 2025年钻石彩宝项目立项申请报告
- 2025年澳门特别行政区事业单位招聘考试教师招聘政治学科专业知识试卷(政治学教学研究)
- 2025年保健按摩师职业技能鉴定试题集锦
- 艺术史论基础知识试题库
- (完整版)自由泳教案
- (高清版)JTST 273-2024 水运工程测量定额
- 生物信息学智慧树知到期末考试答案章节答案2024年华东理工大学
- 《困境儿童风险评估规范》
- 国开2024年《机械设计基础》形考任务1-4答案
- CJT121-2000 再生树脂复合材料检查井盖
- 生物的分子进化和分子遗传学
- 北京小型实验室建设计划书
- 钢结构桥梁的设计与建造:钢结构桥梁的设计与施工要点与技术
- 智能护理数字化驱动医护智能管理
- 青少年毒品预防教育课件
评论
0/150
提交评论