第四章 查询和视图_第1页
第四章 查询和视图_第2页
第四章 查询和视图_第3页
第四章 查询和视图_第4页
第四章 查询和视图_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四章查询和视图4.1查询概述4.2创建查询4.3视图概述4.4创建视图1.概念数据查询是指从指定的数据表或视图中提取满足条件的记录,并按照指定的输出类型输出查询结果的过程。一般是向一个或多个数据表或视图发出检索信息的请求,同时可使用一些条件提取特定的记录。4.1查询概述2.查询方式

选择查询:单表查询和多表查询投影查询3.查询数据源

自由表、数据库表或视图。

1.查询文件的创建方法查询向导查询设计器不论采用何种方法创建查询,都会建立一个由SQLSELECT语句构成的程序文件,其扩展名为.qpr。2.查询向导

4.2创建查询查询向导——>步骤:交叉表向导图形向导字段选取筛选字段排序完成3.查询设计器查询设计器是VisualFoxPro提供的一个可视化创建和设计查询文件的工具。打开查询设计器方式:界面方式-菜单-项目管理器命令方式:CREATEQUERY<查询文件名>|?4.查询设计器界面数据显示区字段选项卡数据显示区数据显示区主要用于存放查询的数据源以及数据之间的连接。“字段”选项卡该选项卡用于设置查询的输出列,它可以是数据源中的字段,也可以是表达式。“联接”选项卡联接选项卡用于指定联接表达式,用它来匹配多个数据表或视图中的记录。“筛选”选项卡该选项卡用于设置筛选条件,通过筛选条件可以对数据源中的记录进行筛选。“排序依据”选项卡用于设置查询结果中输出记录的排列顺序。“分组依据”选项卡该选项卡用于对数据源中的记录按一个或多个字段进行分组,可以对一组内的记录进行统计计算,如统计记录个数、求总和、求平均值等,其计算的结果将作为一条输出记录。“杂项”选项卡该选项卡用于设置查询结果中是否允许重复记录,或者指定输出查询结果的记录范围。例4.1查询“30621061”班级的学生信息,输出结果按出生日期降序排序。设计步骤:1)打开查询设计器2)添加数据表student3)输出student表的全部字段4)设置筛选条件:学号(stuno)前8位表示班级编号5)设置排序依据:birthdate6)运行查询。总结:单表查询(基于单个数据源)5.保存和运行查询保存-工具栏上的“”-“文件”菜单中“保存”查询保存后,将产生一个查询文件,扩展名为.qpr。运行-工具栏上的“!”-“查询”菜单中“运行查询”-在命令窗口中执行命令:do查询文件名.qpr6.查看SELECT-SQL语句查询本质上是定义了一条SQLSELECT语句。该语句可通过单击“查询”菜单中的“查看SQL”菜单项。浏览:在浏览窗口中显示查询结果。临时表:将查询结果输出到一个临时表中。表:将查询结果保存到一个数据表文件(.DBF)中。图形:使查询结果可用于MicrosoftGraph应用程序。屏幕:将查询结果输出到VisualFoxPro的主窗口或当前活动输出窗口上。报表:将查询结果保存到一个报表文件中。标签:将查询结果保存到一个标签文件中。7.查询去向例4.2

根据学生表(student)和成绩表(sscore)查询院系代号为“11”和“12”学院的选课门数为5门以上的每位学生的学号、姓名、平均成绩、总成绩以及选课门数,查询结果按平均成绩降序排序,平均成绩相同时再按选课门数升序排序。1)添加数据表student和sscore,并建立表间关系设置数据源-数据表(自由表或数据库表)-视图设计步骤如下:设计步骤如下:建立表间关系-数据库表之间的关系或临时建立关系2)指定输出列输出字段输出数据源中的字段,则从“可用字段”中选择数据表的一个或多个字段。例如将“学生表”中的“stuno”和“stuname”字段添加到“选定字段”列表框中。在“函数和表达式”框或单击“

”按钮,在“表达式生成器”对话框中构造表达式,并将其添加到选定字段中。在构造表达式时,其语法格式如下:

函数或表达式[as输出项标题]输出列是表达式3)设置联接条件该选项只有在实现多表查询时使用。在VFP中提供了内联接、左联接、右联接和完全联接等四种联接类型。注意:如果两个数据表是一对多关系,则一般“一”表(主表)的字段在左边,“多”表(子表)的字段在右边。4)设置筛选条件筛选条件由一个或多个逻辑表达式构成,每一行就是一个逻辑表达式,表达式之间可以进行AND和OR两种逻辑运算。运算符:=、>、<、>=、<=、LIKE、ISNULL、Between和In。在构造表达式时,实例中的值应为指定数据类型的格式:①如果输入字符串,则要用字符串定界符。若字符串与字段名不相同,定界符可以省略。②如果输入日期型常量,则要用日期定界符,如{^2015-08-20}。③如果输入逻辑型常量,其常量值应为.T.或.F.。5)设置排序依据排序顺序有升序和降序,系统默认为升序。“排序条件”列表框中字段的顺序决定了排序的优先级。在本例中要求查询结果先按平均成绩降序排序,如果平均成绩相同,再按选课门数升序排序。6)设置分组依据用于对数据源中的记录按一个或多个字段进行分组,可以对一组内的记录进行统计计算,如统计记录个数、求总和、求平均值等,其计算的结果将作为一条输出记录。在进行分组统计时,常常会用到一些系统函数,用于数据统计。这些函数有COUNT()、SUM()、AVG()、MAX()和MIN()等。注意:满足条件要结合分组使用。例如,选课门数大于等于5。“分组依据”选项卡页面上的“满足条件”用于对分组统计结果再进行筛选。7)设置杂项设置是否允许重复记录指定查询结果的记录范围-全部,系统默认-前n个记录-前n%个记录注意:前n个记录或前n%个记录的查询结果前提是必须有排序依据。1.概念4.3视图概述视图也是从一个或多个数据表或视图中提取的一组记录,视图是一张虚表,是存储在数据库中的一张虚表。当视图定义好后,可以像数据表一样浏览、查询、修改,还可以作为查询的数据源。如果数据源表的数据发生变化,则这种变化也可以自动反映到视图中。2.视图与查询区别

相同点:都是从数据表中提取指定的记录。不同点:-视图可更新源表的数据,而查询不能;-视图存储在数据库中,而查询以独立的文件存储。

1.视图分类4.4创建视图视图分为两类:本地视图和远程视图本地视图查询存储在本地计算机上的表或视图中的数据。远程视图查询存储在远程计算机上数据源表中的数据。2.本地视图创建方法:视图设计器-打开数据库-执行“数据库”菜单中的“新建本地视图”菜单项。视图设计器例4.3在数据库stum中创建一个名为student_sscore_view的视图。设计步骤:1)打开视图设计器2)分别添加student、sscore和course三张数据表3)输出学生表.stuno、学生表.stuname、课程表.ccode、课程表.cname、成绩表.grade以及课程表.credits等六个字段。4)保存视图5)查看视图视图是存储在某个数据库中,存储的是视图的定义,而不是数据。3.使用视图当视图创建后,可以打开、浏览、重新修改或删除视图,还可以定制视图。浏览视图-在数据库中选择某个视图,单击“浏览”按钮。-命令方式例4.4打开并浏览student_sscore_view视图。OPENDATABASEstumUSEstudent_sscore_viewBROWSE视图被打开时,视图所基于的数据源表也同时在其他工作区中被分别打开了。关闭视图数据工作期中的“关闭”按钮或使用USE命令关闭视图。注意:视图关闭后,自动打开的基表并不随视图的关闭而关闭。修改和删除视图-在数据库中选择某个视图,单击“移去”按钮-命令方式:deleteview例4.5修改和删除student_sscore_view视图。OPENDATABASEstumMODIFYVIEWstudent_sscore_viewDELETEVIEWstudent_sscore_view 用数据字典定制视图视图存在于数据库中,与数据库表一样可以为视图设置字段规则、信息、默认值、注释以及显示格式等属性。在视图设计器的“字段”选项卡中选择“属性”

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论