1 / 42

第四章 查询和视图

第四章 查询和视图. 本章内容. 使用查询设计器创建查询和视图的方法。 SELECT-SQL 语言的使用。. 4.1 查询和视图概述. 所谓 “ 查询 ” ,是向一个数据源发出的 检索信息的请求,它按照一些条件提取特 定的数据,其运行结果是一个动态的数据 集合。. 例如:基于 xs.dbf 表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。. 查询与视图的区别. 相似点:定义一条 SELECT-SQL 语句,创建步骤也非常相似。 区别: ( 1 )数据是否更新 查询( Query ):对源数据不更新,主要是从表中检索或统计出所需数据

tawana
Télécharger la présentation

第四章 查询和视图

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第四章 查询和视图

  2. 本章内容 • 使用查询设计器创建查询和视图的方法。 • SELECT-SQL语言的使用。

  3. 4.1 查询和视图概述 所谓“查询”,是向一个数据源发出的 检索信息的请求,它按照一些条件提取特 定的数据,其运行结果是一个动态的数据 集合。

  4. 例如:基于xs.dbf表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。例如:基于xs.dbf表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。

  5. 查询与视图的区别 相似点:定义一条SELECT-SQL语句,创建步骤也非常相似。 区别: (1)数据是否更新 • 查询(Query):对源数据不更新,主要是从表中检索或统计出所需数据 • 视图(View):可以更新源数据。 (2)是否存在独立的存储文件: • 查询:存在,.qpr,该文件保存的是实现查询的SELECT-SQL语句。 • 视图:不存在,仅将名称存储在数据库中。

  6. 创建查询的方法(用查询设计器创建查询) • 用CREATE QUERY命令,打开“查询设计器”创建查询。 • 选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。 • 在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。 • 直接用SELECT-SQL语句编写.qpr文件创建查询。

  7. 方法一: 用CREATE QUERY命令,打开“查询设计器”创建查询。

  8. 方法二:选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。方法二:选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。

  9. 方法三:在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。方法三:在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。

  10. 4.2 查询的创建和使用 4.2.1 使用查询设计器建立查询 例4.1 查询成绩在80分以上(含80分)的课程代 号、课程名、学生学号和成绩,且要求结 果按课程代号排序,课程相同时按成绩的 降序排序。(基于cj表和kc表)

  11. 步骤一:

  12. 步骤二:选择“新建查询”

  13. 步骤三:打开查询设计,选择添加表或视图

  14. 第四步:设置连接条件

  15. 第五步 :选择输出字段

  16. 第六步:选择排序依据

  17. 第六步:设置筛选条件

  18. 第七步:运行查询(DO 查询名.qpr)

  19. 查询设计器介绍: 数据显示区 查询设置区

  20. 查询设计器介绍 在数据源显示区可以看到所添加的表或视图,若有多个表或视图,还可以看到相连接的表之间有一个基于相关字段的联接线。

  21. 例4.1查询成绩在80分以上(含80分)的课程代号、课程名、学生学号和成绩,且要求结果按课程代号排序,课程相同时按成绩的降序排序。(基于cj表和kc表)例4.1查询成绩在80分以上(含80分)的课程代号、课程名、学生学号和成绩,且要求结果按课程代号排序,课程相同时按成绩的降序排序。(基于cj表和kc表)

  22. (2)联接条件 最常用

  23. Inner join 将kcdh为01改为26,则得到

  24. (3)设置筛选条件 条件取反 • 在“实例”列中输入比较条件时,需要注意下面几点要求: • 只有当字符串与源表中的字段名相同时,才用引号括起字符串,否则,不需要用引号将字符串括起来。 • 日期值需要用花括号{}括起来。 • 逻辑值的前后必须使用句点号标识。 • 字段名不能使用“备注”或“通用型”字段作为筛选条件。

  25. (4)设置排序依据 排序决定了查询输出结果中记录的顺序。本例中,要 求先按课程代号的升序排序,课程代号相同时,按成绩 的降序排序。

  26. (5)设置分组条件 例4.2 基于课程表(kc)和成绩表(cj),查询每门课选 课人数、平均成绩、最高分和最低分,查询输出字段包 含课程代号、课程名、选课人数、平均成绩、最高分和 最低分,且平均成绩大于等于80分,且按平均成绩降序 排列。

  27. (6)杂项

  28. (7)输出查询结果

  29. 4.2.2 使用向导创建交叉表查询 例4.3 在学生成绩表中,一个学生的各门课程的成绩分 布在多行上,因此不易清楚地查看每个学生各门课程的 成绩。最好是一个学生的各门课程的成绩放在一行上, 最好一列有一个总分,如表4-3所示。 表4-3 学生成绩交叉表

  30. 步骤一:

  31. 步骤二:交叉表查询向导的设置

  32. 运行结果

More Related