欢迎来到天天文库
浏览记录
ID:36423735
大小:480.10 KB
页数:48页
时间:2019-05-09
《VFP课件之ch4查询和视》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、查询和视图第4章4.1查询和视图概述4.2查询的创建和使用4.3SELECT–SQL语句4.4视图的创建和使用结束放映?YES(是)NO(否)4.1查询和视图概述查询的本质视图的本质查询与视图的比较4.2查询的创建和使用创建查询的方法创建查询的步骤用查询设计器创建查询用命令方式创建和运行查询交叉表查询4.3SELECT-SQL语句SQL语言概述SELECT-SQL命令SELECT-SQL应用举例用视图设计器创建本地视图用命令方式创建本地视图视图的使用4.4视图的创建和使用“查询”(Query),是指向一个数据库发出的检索信息的请求,它根据给定的条件提取特定的记录。查询的运行结果是一个基于表和
2、视图的动态的数据集合。查询的数据源可以是一个或多个相关的自由表、数据库表或视图。一个查询可以用一条SELECT-SQL语句来完成。一个查询可保存为一个扩展名为.QPR的文件即查询文件。查询文件中保存的是实现查询的SELECT-SQL命令,而非查询的结果。查询和视图设计器在本质上都是SELECT-SQL命令的可视化设计方法。查询的本质1.用查询向导或查询设计器开始建立查询2.选择包含要搜索信息的表或视图3.定义查询结果的显示顺序及查询条件4.设置用于组织查询结果的排序、分组依据5.选择查询结果的输出去向,如表、报表等6.运行查询创建查询的步骤创建查询的方法1.使用界面方法1)查询向导2)查询设
3、计器用createquery命令打开查询设计器窗口。选择“文件”菜单中的“新建”或常用工具栏中的“新建”按钮。在“项目管理器”窗口中的“数据”选项卡中选择“查询”,并选择“新建”按钮。2.命令方法用modifycommand命令进入编辑窗口;输入select-sql语句。用查询设计器创建查询创建基于一个表的查询创建多表查询【例1】查询教师表中工龄满30年的教工的工号和姓名,查询结果按工号的降序排列,显示在浏览窗口中。创建基于一个表的查询注意:在使用查询设计器前,先打开数据库!1、打开查询设计器2、“添加表或视图”3、定义查询的输出内容4、设置筛选条件5、设置排序依据6、保存查询文件7、运行查
4、询文件创建基于一个表的查询【例2】基于学生表,查询各班级的男女生人数及各自所占比例,要求输出字段为:班级(bjbh)、男生人数、男生比例、女生人数、女生比例,按班级的升序排列,在主窗口中显示前30%的记录。创建基于一个表的查询1、打开查询设计器2、添加表或视图3、定义查询的输出内容4、设置分组依据5、设置排序依据6、对查询结果的其它设置7、设定查询去向8、保存查询文件9、运行查询文件创建基于一个表的查询浏览:在浏览窗口显示查询结果临时表:在临时只读表中存储查询结果INTOCURSORTEMP01表:将查询结果作为表保存INTOTABLETAB01.DBF图形:使查询结果用于Microsoft
5、Graph屏幕:在VFP主窗口或当前窗口中显示查询结果TOSCREEN/TOPRINTER/TOFILEF01.TXT报表:将结果输出到报表文件(.FRX)标签:将结果输出至标签文件(.LBX)“查询去向”对话框“查询去向”对话框“添加表或视图”对话框查询设计器的“杂项”选项卡【例3】查询成绩在80分以上(含80分)的课程代号、课程名、学生学号和成绩,且要求结果按课程代号升序排序,课程相同时按成绩的降序排序。(P111例4.1)创建基于多个表的查询1、添加数据源:KC表和CJ表2、确定联接类型3、设置输出内容4、设置筛选条件5、设置排序依据创建基于多个表的查询创建基于多个表的查询【例4】基于
6、课程表和成绩表,查询每门课选课人数、平均成绩、最高分和最低分,查询输出字段包含课程代号、课程名、选课人数、平均成绩、最高分和最低分,且按平均成绩降序排列。(P114例4.2)若加上筛选条件:平均成绩在70分以上,应如果实现?创建基于多个表的查询【例5】基于教师表和任课表,查询没有授课任务的教师名单。两种方法:1、左联接2、子查询一、创建查询文件1、在命令窗口输入命令:MODIFYCOMMAND文件名.QPR2、在编辑窗口输入一条SELECT-SQL命令3、关闭编辑窗口保存查询文件二、用命令方式运行查询文件在命令窗口输入命令:DO文件名.QPR注意:查询文件的扩展名.qpr不可以省略用命令方式
7、创建和运行查询文件内部联接(INNERJOIN)左联接(LEFTJOIN)右联接(RIGHTJOIN)完全联接(FULLJOIN)联接类型基于成绩表,查询每个学生的成绩,要求:每个学生的各门课程的成绩在一行上,如下表所示。学号课程1课程2课程3课程4课程5课程6总分950201856591838777488950102767884659267462…………………………………………交叉表查询ODBC数据
此文档下载收益归作者所有