420 likes | 588 Views
第四章 查询和视图. 本章内容. 使用查询设计器创建查询和视图的方法。 SELECT-SQL 语言的使用。. 4.1 查询和视图概述. 所谓 “ 查询 ” ,是向一个数据源发出的 检索信息的请求,它按照一些条件提取特 定的数据,其运行结果是一个动态的数据 集合。. 例如:基于 xs.dbf 表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。. 查询与视图的区别. 相似点:定义一条 SELECT-SQL 语句,创建步骤也非常相似。 区别: ( 1 )数据是否更新 查询( Query ):对源数据不更新,主要是从表中检索或统计出所需数据
E N D
本章内容 • 使用查询设计器创建查询和视图的方法。 • SELECT-SQL语言的使用。
4.1 查询和视图概述 所谓“查询”,是向一个数据源发出的 检索信息的请求,它按照一些条件提取特 定的数据,其运行结果是一个动态的数据 集合。
例如:基于xs.dbf表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。例如:基于xs.dbf表,查询籍贯为南京的学生的相应的学号、姓名、籍贯。
查询与视图的区别 相似点:定义一条SELECT-SQL语句,创建步骤也非常相似。 区别: (1)数据是否更新 • 查询(Query):对源数据不更新,主要是从表中检索或统计出所需数据 • 视图(View):可以更新源数据。 (2)是否存在独立的存储文件: • 查询:存在,.qpr,该文件保存的是实现查询的SELECT-SQL语句。 • 视图:不存在,仅将名称存储在数据库中。
创建查询的方法(用查询设计器创建查询) • 用CREATE QUERY命令,打开“查询设计器”创建查询。 • 选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。 • 在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。 • 直接用SELECT-SQL语句编写.qpr文件创建查询。
方法一: 用CREATE QUERY命令,打开“查询设计器”创建查询。
方法二:选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。方法二:选择菜单栏中“文件”→“新建”命令,打开“查询设计器”创建查询。
方法三:在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。方法三:在“项目管理器”中,选择“查询”,单击“新建”按钮,打开“查询设计器”创建查询。
4.2 查询的创建和使用 4.2.1 使用查询设计器建立查询 例4.1 查询成绩在80分以上(含80分)的课程代 号、课程名、学生学号和成绩,且要求结 果按课程代号排序,课程相同时按成绩的 降序排序。(基于cj表和kc表)
查询设计器介绍: 数据显示区 查询设置区
查询设计器介绍 在数据源显示区可以看到所添加的表或视图,若有多个表或视图,还可以看到相连接的表之间有一个基于相关字段的联接线。
例4.1查询成绩在80分以上(含80分)的课程代号、课程名、学生学号和成绩,且要求结果按课程代号排序,课程相同时按成绩的降序排序。(基于cj表和kc表)例4.1查询成绩在80分以上(含80分)的课程代号、课程名、学生学号和成绩,且要求结果按课程代号排序,课程相同时按成绩的降序排序。(基于cj表和kc表)
(2)联接条件 最常用
Inner join 将kcdh为01改为26,则得到
(3)设置筛选条件 条件取反 • 在“实例”列中输入比较条件时,需要注意下面几点要求: • 只有当字符串与源表中的字段名相同时,才用引号括起字符串,否则,不需要用引号将字符串括起来。 • 日期值需要用花括号{}括起来。 • 逻辑值的前后必须使用句点号标识。 • 字段名不能使用“备注”或“通用型”字段作为筛选条件。
(4)设置排序依据 排序决定了查询输出结果中记录的顺序。本例中,要 求先按课程代号的升序排序,课程代号相同时,按成绩 的降序排序。
(5)设置分组条件 例4.2 基于课程表(kc)和成绩表(cj),查询每门课选 课人数、平均成绩、最高分和最低分,查询输出字段包 含课程代号、课程名、选课人数、平均成绩、最高分和 最低分,且平均成绩大于等于80分,且按平均成绩降序 排列。
4.2.2 使用向导创建交叉表查询 例4.3 在学生成绩表中,一个学生的各门课程的成绩分 布在多行上,因此不易清楚地查看每个学生各门课程的 成绩。最好是一个学生的各门课程的成绩放在一行上, 最好一列有一个总分,如表4-3所示。 表4-3 学生成绩交叉表