第五章 创建查询与视图

合集下载

2007第5章查询和视图(新)

2007第5章查询和视图(新)

视图的操作
1. 视图的打开与浏览 OPEN DATABASE JXSJ USE JS_VIEW BROWSE 2. 打开视图的多个实例 3. 关闭视图的基表 注意:基表并不随着视图的关闭而关闭 4. 显示视图结构
5. 创建视图索引(非永久索引,随视图关闭而消失) INDEX ON 命令 6. 创建视图的临时关系 SET RELATION (视图作为主表较好) 数据环境中,视图不能被作为子表 7. 集成视图(多级视图、顶层视图) 8. 用数据字典定制视图 “字段”选项卡中的“属性”按钮 9. 视图的修改、重命名与删除 MODIFY / DELETE / RENAME VIEW <视图> DBSETDROP()
使用视图更新基表数据
1. 使表可更新 “发送SQL更新”复选框是更新的主开关,等价于函数: =DBSETPROP (“视图名”,“View”, ”SendUpdates”, .T. ) 2. 设置关键字段 =DBSETPROP (“<视图名>.<字段名>”,“Field” , “KeyField” ,.T. )
21.显示总分最高的前50%的学生信息
DISTINC:排除所有相同的记录 TOP n:前n条记录 TOP n PERCENT :前n%条记录
查询去向
浏览窗口: 默认 临时表: 表: 屏幕: INTO CURSOR 临时表 INTO TABLE 表 TO SCREEN
文本文件: TO FILE 文本文件.txt 数组: INTO ARRAY 数组名
1.显示学生的xsxh,xsxm,zydh,zymc 2.显示不及格学生的xh和xm,多门不及格者显示一次
3. 查询kcdh,kcmc,最高分,保存到kc_maxcj.dbf表文件中

VFP基础教程-创建查询和视图

VFP基础教程-创建查询和视图

5.1 创建查询1. 查询的概念查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。

查询文件:即保存实现查询的SELECT-SQL命令的文件。

查询文件保存时,系统自动给出扩展名.qpr;查询被运行后,系统还会生成一个编译后的查询文件,扩展名为 .qpx。

查询结果:通过运行查询文件得到的一个基于表和视图的动态的数据集合。

查询结果可以用不同的形式来保存。

查询中的数据是只读的。

查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。

2. 用查询设计器创建查询基本步骤:打开查询设计器→ 添加创建查询所基于的数据表→定义输出内容→设置联接、筛选、排序、分组条件→ 选择查询结果的输出形式→保存查询文件→运行查询。

(1)打开查询设计器方法1:从文件菜单或工具栏上单击新建→查询→新建文件→进入查询设计器方法2:当所用到的数据表已在项目中时,从项目管理器窗口中单击数据→ 查询→新建→ 新建查询→进入查询设计器方法3:从命令窗口中输入命令:create query 查询文件名& 创建新查询modify query 查询文件名& 修改已存在的查询(2) 定义查询的输出内容单击字段选项卡→从可用字段列表框中单击所需字段(当输出的列不是直接来源于表中的字段时,单击函数和表达式框边的… 按钮,打开表达式生成器,构造出所需的表达式)→单击添加按钮→所需字段自动出现在选定字段框中。

(3) 设置查询的筛选条件筛选条件决定将哪些记录显示出来。

在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:1) 字符串可以不带引号(当与源表中的字段名相同时才用引号);2) 日期型数值要用{ }括起来;3) 逻辑型数据两侧要带 .号,如 .T.,.F.(4) 设置查询结果的排序依据排序决定查询输出结果中记录显示的顺序。

设置方法:单击排序依据→ 从选定字段框选中字段→选择升序或降序→单击添加。

5.2.2视图(教案)

5.2.2视图(教案)
3.成果分享:每个小组将选择一名代表来分享他们的讨论成果。这些成果将被记录在黑板上或投影仪上,以便全班都能看到。
(五)总结回顾(用时5分钟)
今天的学习,我们了解了视图的基本概念、创建方法、应用场景和安全性控制。同时,我们也通过实践活动和小组讨论加深了对视图的理解。我希望大家能够掌握这些知识点,并在数据库设计和查询中灵活运用。最后,如果有任何疑问或不明白的地方,请随时向我提问。
2.逻辑思维与创新能力:在视图创建和维护过程中,锻炼学生逻辑思维,激发创新意识,使学生能够灵活运用视图解决复杂问题。
3.团队协作与沟通能力:通过小组讨论、分享视图应用案例,促进学生之间的沟通与协作,培养团队精神。
4.信息素养与安全意识:让学生了解视图在信息处理中的重要作用,同时强调视图安全性控制的意义,提高信息安全意识。
-解释:视图的数据来源于查询结果,需要学生理解查询语句的执行过程和结果集的概念。
-视图的更新操作:视图的更新涉及到底层表的变动,学生需要理解这种关联关系,掌握正确的更新方法。
-解释:更新视图时,需要考虑视图中的数据与底层表的关系,避免出现数据不一致的问题。
-视图的安全性控制:如何通过视图实现数据的安全性控制,这是学生理解的难点。
(一)导入新课(用时5分钟)
同学们,今天我们将要学习的是“5.2.2视图”这一章节。在开始之前,我想先问大家一个问题:“你们在日常生活中是否遇到过需要从大量数据中提取有用信息的情况?”例如,我们在使用社交媒体时,如何快速查看特定朋友的所有动态?这个问题与我们将要学习的视图密切相关。通过这个问题,我希望能够引起大家的兴趣和好奇心,让我们一同探索视图的奥秘。
在小组讨论环节,学生们表现得积极主动,大家都能参与到讨论中。但在分享成果时,我发现有些学生表达不够清晰,可能是因为对知识点理解不够深入。在以后的教学中,我会鼓励学生们多发言,提高他们的表达能力和自信心。

第5章 SQL语言、查询与视图(精简版)

第5章  SQL语言、查询与视图(精简版)
SQL 功能 数据定义 数据操纵 数据查询 动 词 CREAT,ALTER INSERT,DELETE,UPDATE SELECT
第五章 SQL语言,查询与视图 SQL语言ห้องสมุดไป่ตู้查询与视图
5.1.1 SQL的数据定义 SQL的数据定义 1,定义表
命令格式: CREAT TABLE <表名> (<字段名1> <类型> ( <长度> [,<小数 <表名> (<字段名1> <类型> <长度> [, 位数> 位数> ] ) [,<字段名2> <类型> (<长度> [,<小数位数>] ) …] 字段名2> <类型> (<长度> [, 小数位数>] SQL创建学生表 例5.1 用SQL创建学生表
第五章 SQL语言,查询与视图 SQL语言,查询与视图
5.1.2 SQL的数据修改 SQL的数据修改
Visual FoxPro提供了三条命令进行数据操作. FoxPro提供了三条命令进行数据操作.
1,INSERT命令 INSERT命令
格式1 格式1: INSERT INTO 表名 [ (字段名1 [,字段名2,…])] (字段名1 [,字段名2 VALUES (表达式1 [,表达式2,…]) (表达式1 [,表达式2
第五章 SQL语言,查询与视图 SQL语言,查询与视图
(3) 空值查询
例5.12 查询缺考学生的学号和课程号 SELECT 学号,课程号 FROM 成绩 WHERE 成绩 IS NULL
(4) GROUP BY 子句
将查询结果按某一列或多列值分组,值相等的为一组. 例5.13 将学生表中的学生按年龄进行分组,并统计 各组的人数 SELECT 年龄,COUNT(姓名) FROM 学生 GROUP BY 年龄,COUNT(姓名) 年龄

第五章 SQL语言、查询和视图

第五章 SQL语言、查询和视图

——Visual FoxPro 6.0数据库应用基础第二部分数据库操作第五章SQL 语言、查询和视图5.1 SQL语言5.3 视图第四章查询和统计⏹掌握并熟练运用SQL语言⏹掌握视图的概念学习目标数据库应用基础5. 1 SQL语言返回SQL 是结构化查询语言(Structured Query Language ,SQL )的缩写,它是一个通用的,功能极强的关系数据库的标准语言。

它与VFP 的其它表操作命令相独立,即可以独立使用。

如SQL 操作表时,不用USE 命令打开表1. SQL 语言具有以下特点⏹⏹高度非过程化⏹面向集合的操作方式⏹以同一种语法结构提供两种使用方式⏹语言简洁,易学易用2. SQL 语言具有以下功能(1)数据定义功能:用于定义数据表的结构,如创建、修改或删除数据表命令:CREATE 、ALTER 、DROP(2)数据操纵命令:SELECT(3)数据查询功能:用于查询数据命令:INSERT 、UPDATE 、DELETE(4)数据控制功能:用于控制用户对数据表的访问权限等命令:由于VFP 在安全控制方面的缺陷,没提供数据控制命令。

5.1.1数据定义语言SQL 语言使用数据定义语言(Date Definition Language ,简称DDL )实现其数据定义功能,可对数据库用户、基本表、视图、索引进行定义和撤消。

DDL 的命令及功能1.建立表结构命令CREATE TABLE创建数据表时已经打开了一个数据库,则所创建的数据表将自动添加到该数据库中,否则将生成自由表。

【命令】(<字段名1> <字段类型>[<字段宽度> [,小数位]][CHECK <表达式> [ERROR <提示信息>]][PRIMARY KEY/UNIQUE][,<字段名2> …])5.1.1数据定义语言5.1.1数据定义语言【说明】①FREE 指定创建自由表,当数据库没有打开时,不必指定该项.②命令中常见的字段数据类型和字段宽度及小数位数③NULL/NOT NULL 表示是否允许字段值为空值。

第5_6章 查询与视图(SQL)

第5_6章 查询与视图(SQL)

删除记录 示例: 示例: 职务= 技术员 技术员” delete from gzgl!zg where 职务=“技术员” browse &&物理删除 pack &&物理删除 browse
更新记录 【例SQL-5.prg】: 】 实发工资=工资+奖金update gzgl!gz set 实发工资=工资+奖金-水电费 &&set用于指定列和修改的值 browse &&set用于指定列和修改的值
②视图设计器
SQL命令 ③ SQL命令
【例5.4】利用视图向导,创建一个多表本地视图文 】利用视图向导, 学生成绩” 视图中的数据包含学号、姓名、 件“学生成绩”,视图中的数据包含学号、姓名、 系科和课程号、成绩等字段的内容, 系科和课程号、成绩等字段的内容,视图中只含 男同学的记录并以成绩的降序排列。 男同学的记录并以成绩的降序排列。 【例5.5】利用视图设计器,创建一个多表本地视图 】利用视图设计器, 成绩单视图” 视图中的数据包含Student表、 “成绩单视图”,视图中的数据包含 表 Course表和 表和Assign表,视图中包含 表和 表 视图中包含Student表的学 表的学 姓名、系科; 表中的课程号、 号、姓名、系科; Assign表中的课程号、成绩; 表中的课程号 成绩; Course表中的等课程名、学分等字段的内容;查询 表中的等课程名、 表中的等课程名 学分等字段的内容; 结果以学号的升序和课程号升序排列。 结果以学号的升序和课程号升序排列。 【例5.6】利用本地视图“学生视图”,更新 】利用本地视图“学生视图” Student表中的数据。 表中的数据。 表中的数据
②排序短语 &&查询全部记录, &&查询全部记录,并按职工号降序排列 查询全部记录 SELECT * FROM 职工工资 order by 职工号 desc &&统计student表中各专业的女生人数 &&统计student表中各专业的女生人数 统计student ③分组短语

第5章_视图的创建与使用


5.2.2使用Transact-SQL语句创建视图 .2.2使用Transact-SQL语句创建视图 使用Transact
使用Transact SQL语言中的 使用 Transact-SQL 语言中的 CREATE VIEW 语 Transact语言中的CREATE VIEW语 句创建视图,其语法形式如下: 句创建视图,其语法形式如下: CREATE VIEW [ schema_name . ] view_name [ (column [ ,...n ] ) ] ...n [ WITH ENCRYPTION ] AS select_statement [ WITH CHECK OPTION ] [ ; ]
5.1.2 视图的优点
简化数据操作:视图可以简化用户处理数据的方式。 简化数据操作:视图可以简化用户处理数据的方式。 着重于特定数据: 着重于特定数据:不必要的数据或敏感数据可以不出 现在视图中。 现在视图中。 视图提供了一个简单而有效的安全机制, 视图提供了一个简单而有效的安全机制,可以定制不 同用户对数据的访问权限。 同用户对数据的访问权限。 提供向后兼容性: 提供向后兼容性:视图使用户能够在表的架构更改时 为表创建向后兼容接口。 为表创建向后兼容接口。 自定义数据:视图允许用户以不同方式查看数据。 自定义数据:视图允许用户以不同方式查看数据。 导出和导入数据: 导出和导入数据:可使用视图将数据导出到其他应用 程序。 程序。
CHECK OPTION :强制针对视图执行的所有 数据修改语句都必须符合在 select_statement 中设置的条件。 中设置的条件。 ENCRYPTION:对视图文本进行加密。 ENCRYPTION:对视图文本进行加密。
例2 建立一个只包括教师号、姓名和年龄的 建立一个只包括教师号、 视图TeacherView TeacherView。 视图TeacherView。 CREATE VIEW TeacherView AS SELECT tno,tname,tage FROM teachers

第五章 创建和使用查询

第五章创建和使用查询一.选择题1.下面关于查询的叙述,说法正确的是( D ).A.只有查询可以用来进行筛选、排序、浏览等工作B.数据表或窗体中也可以代替查询执行数据计算C.数据表或窗体中也可以代替查询检索多个表的数据D.利用查询可以轻而易举地执行数据计算,以及检索多个表的数据2.( D )不是查询的功能.A.筛选记录B.整理数据C.操作表D.输入接口3.以下关于筛选和查询的叙述中,说法正确的是( C ).A.在数据较多、较复杂的情况下使用筛选比使用查询的效果好B.查询只从一个表中选择数据,而筛选可以从多个表中获取数据C.通过筛选形成的数据表,可以提供给查询使用D.筛选将删除不符合条件的记录4.Access支持的查询类型有( A ).A.选择查询、交叉表查询、参数查询、SQL查询和操作查询B.基本查询、选择查询、参数查询、SQL查询和操作查询C.多表查询、单表查询、交叉表查询、参数查询和操作查询D.选择查询、统计查询、参数查询、SQL查询和操作查询5.以下不属于操作查询的是( A).A.交叉表查询B.生成表查询C.更新查询D.删除查询6.在查询设计视图中,( B ).A.只能添加数据库表B.可以添加数据库表,也可以添加查询C.只能添加查询D.以上说法都不对7.利用对话框提示用户输入参数的查询过程称为( B ).A.选择查询B.参数查询C.交叉表查询D.SQL查询8.( B )的结果不是动态集合,而是执行指定的操作,例如增加、修改、删除记录等.A.选择查询B.操作查询C.参数查询D.交叉表查询9.在SQL查询中,使用WHERE子句指出的是( B ).A.查询目标B.查询结果C.查询视图D.查询条件10.在SQL查询中,若要取得“学生”数据表中的所有记录和字段,则SQL语句为( B ).A.SELECT 姓名FROM 学生B.SELECT * FROM 学生C.SELECT 姓名FROM 学生 WHILE 学号=02650D.SELECT * FROM 学生 WHILE 学号=0265011.( A )不是生成表查询的使用时机.A.删除数据B.整理旧的数据C.备份重要数据D.当成其他对象的数据来源12.如果在数据库中已有同名的表,( C )查询将覆盖原有的表.A.删除B.追加C.生成表D.更新13.执行( D )查询后,字段的旧值将被新值替换.A.删除B.追加C.生成表D.更新14.参数查询可分为( C ).A.单参数查询B.多参数查询C.单参数查询和多参数查询D.都不是15.单参数查询可以输入( A )组条件.A.1B.2C.3D.416.下列关于准则的说法中,错误的是( D ).A.同行之间为逻辑“与”关系,不同行之间为逻辑“或”关系B.日期/时间类型数据须在两端加#C.Null表示空白无数据的意思,可在任意类型的字段中使用D.数字类型的条件需加上双引号(“”).17.下面表达式中,( A )执行后的结果是在“平均分”字段中显示“语文”、“数学”、“英语”3个字段中分数的平均值(结果取整).A.平均分:([语文]+[数学]+[英语])\3B.平均分:([语文]+[数学]+[英语])/3C.平均分: 语文 + 数学 + 英语 \3D.平均分: 语文 + 数学 + 英语 /318.在表达式中,为了与一般的数值区分,Access将文本型是数据用( C )号括起来.A.*B.#C.“”D.?19.若要查询成绩为70-80分(包括70分,不包括80分)的学生的信息,则查询准则设置正确的是( C )A.>69 OR <80B.Between 70 with 80C.>=70 And <80D.IN(70,79)20.若要在文本型字段执行全文搜索,查找以“Access”开头的字符串,则下列条件表达式正确的是( D ).A.Like“*Access*”B.Like“Access”C.Like“*Access”D.Like“Access*”…………..22.使用查询向导不可以创建(C).A.简单的选择查询B.基于一个表或查询的交叉表查询C.操作查询D.查找重复项查询23.利用向导创建查询对象中的>>按纽的作用是( B ).A.将“可用字段”列表框中选定的字段送到“选定字段”框中B.将“可用字段”列表框中的全部字段送到“选定字段”框中C.将“选定字段”列表框中的全部字段送到“可用字段”框中D.将“选定字段”列表框中的选定字段送到“可用字段”框中24.关于使用查询向导创建查询,叙述错误的是( D ).A.使用查询向导创建查询可以加快查询创建的速度B.创建的过程中,它提示并询问用户相关的条件C.创建的过程中,根据用户输入的条件建立查询D.使用查询向导创建查询的缺点在于创建查询后,不能对已创建的查询进行修改25.( A )是交叉表查询必须搭配的功能.A.总计B.上限值C.参数D.以上都不是26.Access提供的参数查询可在执行时弹出一个对话框以提示用户输入信息,只要将一般查询准则中的数据用( D )替换,并在其中输入提示信息就形成了参数查询.A.( )B.< >C.{ }D.[ ]27.( D )是交叉表查询的必要组件.A.行标题B.列标题C.值D.以上都是28.关于总计,叙述错误的是( A ).A.可以用作各种计算B.作为条件的字段也可以显示在查询结果中C.计算的方式有和、平均、记录数、最大值、最小值等D.任意字段都可以作为组29.关于运行操作查询的方法,错误的是( D ).A.保存关闭该查询后,再双击该查询B.在操作查询的设计视图中,选择“查询”菜单中的“运行”命令,或单击工具栏上的“运行”按纽来运行该查询C.选定“查询”对象,选定该查询后,单击窗口上部的“打开”按纽D.单击工具栏最左端的“视图”按纽,切换到数据表视图30.下列说法中,正确的是( B ).A.创建好查询后,不能更改查询中字段的排列顺序B.对已创建的查询,可以添加或删除其数据来源C.对查询的结果,不能进行排序D.上述说法都不正确31.以下关于查询的叙述,正确的是( C ).A.只能根据数据表创建查询B.可以根据数据表和已建查询创建查询C.只能根据已建查询创建查询D.不能根据已建查询创建查询32.关于查询,说法不正确的是( D ).A.查询可以作为结果,也可以作为来源B.查询可以根据条件从数据表中检索数据,并将其结果存储起来C.可以以查询为基础,来创建表、查询、窗体或报表D.查询是以数据库为基础创建的,不能以其他查询为基础创建33.Access中,查询的视图有3种方式,其中不包括( D ).A.设计视图B.数据表视图C.SQL视图D.普通视图34.关于打开查询的数据表视图的步骤,错误的是( C ).A.在查询对象列表中,双击要打开的查询B.在查询对象列表中,选定要打开的查询,单击“数据库”窗口上部的“打开”按纽C.在查询对象列表中,选定要打开的查询,单击“数据库”窗口上部的“设计”按纽D.在查询对象列表中,选定要打开的查询,在该查询上右击,弹出快捷菜单,选择“打开”命令35.查询的设计视图基本上分为3部分,( B )不是设计视图的组成部分.A.标题及查询类型栏B.页眉页脚C.字段列表区D.设计网格区36.用查询设计视图创建好查询后,可进入该查询的数据表视图观察结果,下列方法不能实现的是( C ).A.保存关闭该查询后,再双击该查询B.选定“表”对象,双击“使用数据表视图创建”快捷方式C.直接单击工具栏中的打开按纽D.单击工具栏最左端的“视图”按纽,切换到数据表视图37.若要用设计视图创建一个查询,查询所有姓“张”的女同学的姓名,性别和总分,则正确的设置查询准则的方法应为( C ).A.在“准则”单元格中输入:姓氏=“张” And 性别=“女”B.在“总分”对应的“准则”单元格中输入:总分;在“性别”对应的“准则”单元格中输入:“女”C. 在“姓名”对应的“准则”单元格中输入:Like“张*”;在“性别”对应的“准则”单元格中输入:“女”D.在“准则”单元格中输入:总分 OR性别=“女”AND姓氏=“张”38.如果要在某数据表中查找某文本型字段的内容以“S”开头,以“L”结尾的所有记录,则应该使用的查询条件是( A ).A.Like“S*L”B.Like“S#L”C.Like“S?L”D.Like“S$L”39.查询条件为“第2个字母为a,第3个字母为c,后面有个st连在一起”的表达式为( C).A.Like“*acst”B.Like“#ac$st”C.Like“?ac*st*”D.Like“?ac*st?”40.关于生成表查询的叙述,错误的是( D ).A.生成表查询是一种操作查询B.生成表查询是从一个或多个表中选出满足一定条件的记录来创建一个新表C.生成表查询将查询结果以表的形式存储D.生成表中的数据是与原表相关的,不是独立的,必须每次都生成以后才能使用41.关于更新查询,说法不正确的是( B ).A.使用更新查询可以将已有的表中满足条件的记录进行更新B.使用更新查询,一次只能对一条记录进行更改C.使用更新查询后就不能再恢复数据了D.使用更新查询效率比在数据表中更新数据效率高42.设某数据库表中有一个“姓名”字段,查找“李”的记录准则是(B).A.Not“李”B.Like“李”C.Left((姓名),1)=“李”D.“李”43.列出所有在1月1日和5月31日之间的日期,正确的表达式是( D ).A.>1.1 <5.31B.>1.1 and <5.31C.>1/1 and <5/31D.>=1/1 and <=5/3144.身份证号码是无重复的,但由于其位数较长,难免产生输入错误.为了查找表中是否有重复值,应该采用的最简单的查找方法是( C ).A.简单查询向导B.交叉表查询向导C.查找重复项查询D.查找匹配项查询45.( C )操作是在查询的某种视图中,打开“查询”菜单,然后单击要切换到的视图名称.A.打开查询的数据表视图B.打开查询的设计视图C.切换查询视图D.使用向导创建查询46.选定要打开的查询,按( A )组合键将以数据表视图方式打开查询.A.Alt+OB.Alt+DC.Alt+CD.Alt+H47.关于查询设计视图的3个部分,叙述错误的是( B ).A.标题及查询类型栏在窗口的最上方的标题栏中,在此处显示查询的标题和查询类型B.字段列表区在标题栏上方,显示打开的查询所应用的其他表C.如果查询中包括多个表或查询的字段列表,则在字段列表之间将会用连线来表示这些表与查询的关系D.在网格区中,用户可以指定查询中所使用和显示的字段48.当操作查询正在运行时,( A )能够中止查询过程的运行.A.按Ctrl+Break 组合键B.按Ctrl+Alt+Del 组合键C.按Alt+Break 组合键D.按Alt+F4 组合键49.关于追加查询,说法不正确的是( B ).A.在追加查询与被追加记录的表中,只有匹配的字段才能被追加B.在追加查询与被追加记录的表中,不论字段是否匹配都将被追加C.在追加查询与被追加记录的表中,不匹配的字段将被忽略D.在追加查询与被追加记录的表中,不匹配的字段不被忽略50.Access的选择查询可以按照指定的准则,从( D )个表中获取数据,并按照所需的排列次序显示.A.1B.2C.8D.多51.“利用查询得到的结果可以建立一个新表”是查询的( B )功能.A.选择字段B.建立新表C.选择记录D.编辑记录52.编辑查询中的字段不包括下列选项中的( B ).A.添加字段B.查询字段C.删除字段D.移动字段53.下列选项中,最常用的查询类型是( A ).A.选择查询B.交叉表查询C.参数查询D.SQL查询54.( A )的结果是一组数据记录,即动态集.A.选择查询B.交叉表查询C.参数查询D.SQL查询55.( B )是利用表中的行和列来统计数据的.A.选择查询B.交叉表查询C.参数查询D.SQL查询56.( C )也可以作为窗体或报表的基础.A.选择查询B.交叉表查询C.参数查询D.SQL查询57.( D )是利用SQL语句来创建的.A.选择查询B.交叉表查询C.参数查询D.SQL查询58.下列选项中,不属于SQL查询的是( C ).A.联合查询B.传递查询C.操作查询D.定义查询59.下列选项中,不属于关系运算符的是( D ).A.=B.>C.<D.=/60.下列选项中,不属于逻辑运算符的是( B ).A.NotB.InC.AndD.Or61.下列选项中,不属于特殊运算符的是( D ).A.InB.LikeC.BetweenD.Int62.在Access中,Between的含义是( B ).A.用于指定一个字段值的列表,列表中的任意一个值都可与查询的字段相匹配B.用于指定一个字段值的范围,指定的范围之间用And连接C.用于指定查找文本字段的字符模式D.用于指定一个字段为空63.下列函数中,表示“返回字符表达式中值的最大值”的函数是( C ).A.SumB.CountC.MaxD.Min64.在下列字符函数中,用来表示“返回字符表达式中的字符..A ).个数..”的是(A.LenB.CountC.TrimD.Sum65.在准则中,字段名必须用( B )括起来.A.小括号B.方括号C.引号D.大括号66.若要查询20天之内参加工作的记录,应选择的工作时间的准则是( B ).A.<Date( )-20B.Between Date( ) And Date( )-20C.<Date( )-21D.>Date( )-2167.空字符串是用( B )括起来的字符串,且中间没有空格.A.大括号B.双引号C.方括号D.#号68.在数据库窗口中,单击“查询”对象,再单击“新建”按纽,可以打开( D )对话框.A.查询向导B.创建查询C.简单查询向导D.新建查询69.使用( D )视图,可以创建带条件的查询.A.查询B.使用向导创建查询C.查询向导D.查询设计70.在查询设计视图的“设计网格”区,包括7行已命名的行,其中不包括( C ).A.字段B.显示C.查询D.准则71.用于指定一个字段值的列表,列表的任意一个值都可以与查询的字段相匹配的特殊运算符是( A ).A.InB.Is NullC.BetweenD.Like72.( B )的SELECT语句不能定义联合查询或交叉表查询.A.参数查询B.子查询C.传递查询D.定义查询73.选择“视图”菜单中的( A )命令,可以对记录进行总计查询.A.合计B.总计C.求和D.统计74.总计查询需在查询设计视图中的( B )行中完成.A.准则B.总计C.或D.显示75.创建交叉表查询时,用户可以指定( A )总计类型的字段.A.1个B.2个C.多个D.无76.要运行查询,可以直接( A )要运行的查询.A.双击B.单击C.连续单击三次D.右击77.总计项中的Group By表示的意义是( A ).A.定义要执行计算的组B.求在表或查询中第一条记录的字段值C.指定不用于分组的字段准则D.创建表达式中包含统计函数的计算字段78.若要统计员工人数,需在“总计”行单元格的下拉列表中选择函数( B ).A.SumB.CountC.VarD.Avg79.( B )是指根据一个或多个表中的一个或多个字段并使用表达式建立新字段.A.总计B.计算字段C.查询D.添加字段80.创建交叉表查询时,行标题最多可以选择( C )字段.A.1个B.2个C.3个D.多个81.如果创建交叉表的数据源来自多个表,可以先建立( B ).A.一个表B.查询C.选择查询D.以上都不对82.如果“列标题”字段的值为小数,Access将在数据表中以( C )取代此字符.A.乱码B.引号C.下划线D.无法识别83.创建( B )查询,就是在字段中指定一个参数,在执行时,用户输入一个参数值.A.参数B.单参数C.多参数D.操作84.如果在一个已建立的查询中创建参数查询,执行“保存”命令后,原查询将( B ).A.保留B.被新建的参数查询所替换C.自动更名D.替换新建的参数查询85.创建单参数查询是时,在“设计网格”区中输入“准则”单元格的内容即为( D ).A.查询字段的字段名B.用户任意指定的内容C.查询的条件D.参数对话框中的提示文本86.下列查询中,( B )查询可以从多个表中提取数据,组合起来生成一个新表永久保存.A.参数B.生成表C.追加D.更新87.关于操作查询,下列说法不正确的是( D ).A.如果用户经常要从几个表中提取数据,最好的方法是使用Access提供的生成表查询B.使用Access提供的删除查询一次可以删除一组同类的记录C.在执行操作查询前,最好单击工具栏上的“视图”按纽,预览即将更改的记录D.在使用操作查询前,不用进行数据备份88.删除查询可以从单个表中删除记录,也可以从多个相互关联的表中删除记录.如果要从多个表中删除相关记录,必须满足3个条件,下列不符合的选项是( D ).A.在“关系”窗口中定义相关表之间的关系B.在“关系”对话框中选中“级联删除相关记录”复选框C.在“关系”对话框中选中“实施参照完整性”复选框D.在“关系”对话框中选中“实体完整性”复选框89.如果只删除指定字段中的数据,可以使用( B )查询将该值改为空值.A.删除B.更新C.生成表D.追加90.关于SQL查询,下列说法不正确的是( D ).A.SQL查询是用户使用SQL语句直接创建的一种查询B.Access的所有查询都可以认为是一个SQL查询C.使用SQL可以修改查询中的准则D.使用SQL不能修改查询中的准则91.设置排序可以将查询结果按一定的顺序排列,以便于查询.如果所有的字段都设置了排序,那么查询结果将先按( A )排序字段进行排序.A.最左边B.最右边C.最中间D.随机92.如果一次添加多个字段,则按住( B )键并单击要添加的字段.A.ShiftB.CtrlC.AltD.Tab93.( B )主要包括添加字段、修改记录和删除记录等.A.选择记录B.编辑记录C.修正记录D.实现计算94.Like属于( C ).A.关系运算符B.标准运算符C.特殊运算符D.逻辑运算符95.假设某数据表中有一个“姓名”字段,查找姓名为“王大”或“刘五”的记录的准则是( D ).A.Not“王大”,“刘五”B.Len([姓名])= “王大”,“刘五”C.Left([姓名])= “王大”,“刘五”D.IN(“王大”,“刘五”)96.若要计算各类职称的教师人数,需要设置“职称”和( C )字段,对记录进行分组统计.A.工作职称B.性别C.姓名D.以上都不是97.返回当前系统日期的函数是( D ).A.Date(date)B.Date(day)C.Day(Date)D.Date( )98.查询“设计网格”中作为“用于确定字段在查询中的运算方法”的行的名称是(D ).A.表B.准则C.字段D.总计99.创建了总计查询后,单击工具栏上的“视图”按纽,将其切换到( A )视图,可以查看总计后的结果.A.数据表B.设计C.SQLD.大纲100.创建交叉表查询时,用户需要指定3种字段,下列选项中不属于这3种字段的是( D ).A.放在数据表最左端的行标题,它把某一字段或相关的数据放入指定的一行中B.放在数据表最上面的列标题,它对每一列指定的字段或表进行统计C.放在数据表行与列交叉位置上的字段D.放在数据表最下面的字段二.填空题1.在Access中,( 操作 )查询的运行一定会导致数据表中数据的变化.2.一般情况下,查询可分为 ( 选择查询 )、(参数查询)、(交叉表查询)、操作查询和SQL查询5种.3.若要获得今天的日期,可使用( Date( ) )函数;若要获得当前的日期及时间,可使用( Now( ) )函数.4.在设置查询的“准则”时,可以直接输入表达式,也可以使用表达式( 生成器 )来帮助创建表达式.5.要确定“库存量”乘以“单价”的平均值是否大于等于¥500且小于等于¥1000,可输入(AVG(库存量*单价) BETWEEN500 AND 1000).6.在交叉表查询中,只能有一个( 列标题 )和值,但(行标题 )可以是一个或多个.7.假设某个表有10条记录,如果要筛选前5条记录,可在查询属性“上限值”中输入( 5 )或( 50% ).8.创建动作查询时,首先要( 保护 )数据,因为动作查询会改变表中数据.9.查询中的计算可以分为( 预定义计算 )和( 自定义计算 ).10.如果需要运行选择或交叉表查询,则只需双击该查询,Access就会自动运行或执行该查询,并在( 数据表 )视图中显示结果.11.如果需要运行操作查询,则先在设计视图中将其打开,对于每个操作查询,会有不同的显示:( 生成表查询 )显示包括在新表中的字段;( 追加查询 )显示添加到另一个表中的记录.12.在“总计”行上,共提供了( 12 )个总计项.13.在查询中,根据查询的数据源数量,将查询分为( 多表查询 )和( 单表查询 ).14.如果查询的结果中还需要显示某些另外的字段的内容,用户可以在查询的( 设计)视图中加入某些查询的字段.15.在总计计算时,要指定某列的平均值,应输入( AVG(列名));要指定某列中值的一半,应输入( [列名]*0.5 ).…………………………………………19.要创建查询时,有些实际需要的内容(字段)在数据源的字段中并不存在,但可以通过在查询中增加( 计算字段 )来完成.20.创建交叉表查询有两种方法,一种是使用简单( 交叉表查询向导 )创建交叉表查询,另一种是使用( 设计视图 )创建交叉表查询.21.在参数查询过程中,用户可以通过设定查询参数的类型来确保用户输入的参数值的正确性.设定的方法是,选择“查询”菜单中的( 参数 )命令来设置.……………23.以“图书馆管理系统”为例,当读者从图书馆借出一本书之后(在“借出书籍”表中新增加一条记录),此时就可以运行( 更新查询 )来将“书籍”表中该书的“已借本数”字段值进行改变.24.按( F11 )键可以切换到“数据库”窗口.25.若要查找小于60或大于100的数,则设定的条件表达式为( <60 or >100 )26.利用( 查找重复项查询 )可以确定在表中是否有重复的记录,或记录在表中是否共享相同的值.27.交叉表查询利用表中的行和列进行数据的统计,在行与列的( 交叉 )处显示表中某个字段的统计值.28.参数查询是利用对话框来提示用户输入( 准则 )的查询.29.操作查询与选择查询的相同之处在于二者都是由用户指定查找记录的条件,但不同之处在于选择查询是检查符合条件的一组记录,而操作查询是( 在一次查询操作中对所有结果进行编辑 )等操作.30.操作查询有( 生成表查询 )、(删除查询)、(更新查询)和(追加查询)4种.31.运算符是组成准则的基本元素,Access提供了( 关系运算符 )、( 逻辑运算符 )和( 特殊运算符 )3种运算符.32.当( Or )连接的表达式有一个为真时,整个表达式为真,否则为假.33.在查询设计视图窗口中的“设计网格”区中,由一些字段列和已命名的行组成,其中已命名的行有( 7 )行.34.在特殊运算符中,( IS Null )用于指定一个字段为空.35.用于表示数值表达式的绝对值的函数是( ABS(数值表达式) ).36.用于返回去掉字符表达式前导空格的字符串的函数是( Ltrim ).37.用于返回字符表达式中的最小值的函数是( Min(字符表达式) ).38.使用文本值作为查询准则时,文本值要用( 半角的双引号 )括起来.39.空值使用( Null )或( 空白)来表示字段的值.40.书写查询准则时,日期值应该用( 半角的#号 )括起来.41.若要查询1987年出生的职员的记录,可使用的准则是( Year([出生日期])=1987 ).42.建立查询的方法有两种,分别是( 使用查询向导 )和( 设计视图 ).43.打开数据库窗口,单击( 查询 )对象,然后双击“使用向导创建查询”选项,可打开“简单查询向导”对话框.44.查询的结果是一组数据记录,即( 动态集 ).45.“查询”设计视图窗口分为上下两部分,上半部分为(字段设计)区,下半部分为“设计网格”.46.使用设计视图时,会打开一个“显示表”对话框,其中包含3个选项卡,分别是(表)、(查询)和(两者都有).47.在表的字段列表中选择字段并放在“设计网格”区的字段行上,选择字段的方法有3种,其中最简单的一种方法是( 双击选中的字段).48.求表或查询中最后一条记录的字段值的总计项是( Last ).49.( 预定义 )计算就是所谓总计的计算,是系统提供的用于对查询中的记录组或全部记录进行计算的计算.50.对于自定义计算,必须直接在“设计网格”区中创建新的( 计算字段 ).。

第五章查询与视图1


5.1.1.1.3为表建立关系
为表建立关系就是为查询建立多表字段之间的关系,
其方法如下: 1.如图5-3所示,在左侧的下拉菜单中选择建立关系的父
表字(例如“学生基本情况”的学号),在右侧的下拉菜单 中建立关系的子表字段(例如“学生成绩”的学号)。
2.单击左侧的“添加”按钮,将此连接关系加入到下侧 的关系列表框中。
图5.12建立联接条件
图5.13 设置查询结果排列顺序
2.单击“类型”下拉菜单,按连接类型选择一个类 型选项。
3.再依次按前述设置筛选表达式的方法,设置联接 条件。联接条件一旦设定,在查询结果中,凡是满足联 接条件的,在各表中的字段值会如同在一个数据表中的 记录一样出现在查询结果中。 5.1.1.2.5为查询设置排列顺序
图5.6 对记录进行排序
图5.7 对结果中的记录数进行限制
4.单击“下一步”按钮,弹出第五步操作——“完成” 对话框。
①在此对话框中,给出了三个“完成”选项:
②“保存查询”——将新建查询以用户给定的文件 形式存盘,供以后随时调用。
③“保存并运行查询”——将新建查询存盘,并运 行此查询。
④“保存查询并在‘查询设计器中修改’”——将 新建查询存盘,再将其调入“查询设计器”中进行修改。
第5章 查询与视图
5.1 建立查询 5.2 使用视图处理数据
前言
在数据库的应用中,查询是数据处理中不 可缺少的、最常用的。VFP 6.0提供了两 种较好的方法,这就是查询文件和视图 文件。使用“查询设计器”,能方便地生 成一个查询,从而获得用户所需要的数 据。视图能帮助用户从本地或远程数据 源中获取相关数据,而且还可以对这些 数据进行修改并更新,VFP 6.0将自动完 成对源表的更新。

VF复习资料第五章

第五章查询和视图1.用向导建立查询(1)建立文件菜单→新建或常用工具栏新建按钮,选文件类型为查询→向导步骤1—字段选取(见图4.2)将可用字段中字段选入选定字段中→下一步,进入查询向导步骤2—为表建立关系(见图4.3)。

添加→下一步步骤3—筛选记录(见图4.5)→下一步步骤4—排序记录(见图4.6),选学生.学号→添加→下一步,步骤5—完成对话框(见图4.8)→预览→完成。

打开另存为对话框,在文件名文本框输入查询学生→保存。

在查询设计器打开下,通过查询菜单,查询SQL选项可查看对应的SQL SELECT 语句。

图4.1 向导选取对话框图4.2 查询向导步骤1对话框图4.3 查询向导步骤2对话框图4.4 查询向导步骤2a图4.5 查询向导步骤3—筛选记录图4.6 查询向导步骤4—排序记录图4.7 查询向导步骤4a—限制记录图4.8 查询向导步骤5—完成对话框2.用查询设计器建立查询文件→新建或常用工具栏的新建按钮,打开新建对话框,选查询→新建文件按钮,打开打开对话框,选学生表→确定(见图4.9)。

在添加表或视图对话框中选学生表→添加,选学生成绩表→添加→关闭。

进入如图4.10所示查询设计器中。

图4.9 添加表或视图对话框图4.10 查询设计器在查询设计器中有几个选项卡,含义为:(1)字段选项卡,对应于SELECT 中的输出结果字段。

(2)联接选项卡,对应于SELECT 中的JOIN子句。

(3)筛选选项卡,对应于SELECT 中WHERE子句。

(4)分组选项卡,对应于SELECT 中GROUP 与HA VING 子句。

(5)排序选项卡,对应于SELECT 中ORDER BY子句。

(6)杂项选项卡,对应于SELECT 中[ALL|DISTINCT]子句与[TOP …]子句。

3.定向输出查询结果在查询设计器打开基础上:查询菜单→查询去向,,默认为浏览即屏幕输出。

图4.11 查询去向表4.3 查询输出去向类型说明执行查询1.文件→打开,再打开对话框中选文件类型为查询,选文件名为查询学生1→确定。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

5.1 创建查询
1. 查询的概念
查询:就是向一个数据库发出检索信息的请求,从中提取符合特定条件的记录。

查询文件:
即保存实现查询的SELECT-SQL命令的文件。

查询文件保存时,系
统自动给出扩展名.qpr;查询被运行后,系统还会生成一个编译后
的查询文件,扩展名为 .qpx。

查询结果:
通过运行查询文件得到的一个基于表和视图的动态的数据集合。

查询
结果可以用不同的形式来保存。

查询中的数据是只读的。

查询的数据源:可以是一张或多张相关的自由表、数据库表、视图。

2. 用查询设计器创建查询
基本步骤:
打开查询设计器→添加创建查询所基于的数据表→定义输出内
容→设置联接、筛选、排序、分组条件→选择查询结果的输出形
式→保存查询文件→运行查询。

(1)打开查询设计器
方法1:
从文件菜单或工具栏上单击新建→查询→新建文件→进入查询
设计器
方法2:
当所用到的数据表已在项目中时,从项目管理器窗口中单击数据→
查询→新建→新建查询→进入查询设计器
方法3:从命令窗口中输入命令:
create query 查询文件名& 创建新查询
modify query 查询文件名& 修改已存在的查询
(2) 定义查询的输出内容
单击字段选项卡→从可用字段列表框中单击所需字段(当输出的列不是直接来源于表中的字段时,单击函数和表达式框边的…按钮,打开表达式生成器,构造出所需的表达式)→单击添加按钮→所需字段自动出现在选定字段框中。

(3) 设置查询的筛选条件
筛选条件决定将哪些记录显示出来。

在筛选框中构造筛选条件表达式时,要注意在实例框中输入不同数据类型时的格式:
1) 字符串可以不带引号(当与源表中的字段名相同时才用引号);
2) 日期型数值要用{ }括起来;
3) 逻辑型数据两侧要带 .号,如 .T.,.F.
(4) 设置查询结果的排序依据
排序决定查询输出结果中记录显示的顺序。

设置方法:
单击排序依据→从选定字段框选中字段→选择升序或降序→单
击添加。

(5) 设置查询结果的分组依据
分组是指将一组类似的记录压缩成一个结果记录,目的是为了完成基于该组记录的计算,比如:求平均值、总和、统计个数、其中的最大值、最小值等。

几个常用的统计函数
用于分组的字段不一定是选定输出的字段,但分组字段不能是一个计算字段。

可以用满足条件…来对分组结果进行进一步筛选。

(6)对查询结果的其他设置
可以排除查询结果中所有重复的行,并设置结果的记录范围。

(7)选择查询结果的输出类型
默认情况下,查询结果将输出在浏览窗口中,且其中的数据是只读的。

设置其他输出类型的方法:
打开查询菜单→选择查询去向→在查询去向对话框中选择一种。

一般多选择表或报
表。

(8)运行查询
在查询设计器打开的状态下,单击常用工具栏上的!按钮或从查询菜单中选择运行查询。

其他情况下,可从项目管理器中选中查询文件并单击运行按钮,或从程序菜单中选择执
行命令,或从命令窗口中输入:DO 查询文件名。

(9)创建多表查询
打开查询设计器→将所需的多个相关表添加进来→设置联接条件→按上面(2)
至(8)步进行。

3. 用查询向导创建查询
(1)创建标准查询:
打开待查询的数据表→从文件菜单中单击新建→在新建对话框中选择查询并单击向导→选择查询向导→从单张或多张相关的表中进行字段选取→设置筛选条件→
设置排序次序→选择查询结果的保存方式→给出查询文件名并选择保存位置→查询结果显示在查询窗口中。

注意:查询此时得到的数据是只读的,不可以更新。

(2)交叉表查询
打开待查询的数据表→从文件菜单中单击新建→在新建对话框中选择查询并单击
向导→选择交叉表向导→从单张表中选取字段→设计布局→加入总和信息→
选择查询结果的保存方式→给出查询文件名并选择保存位置→查询结果显示在查
询窗口中。

注意:不是任何表都适宜采用交叉表的形式。

(3)用SELECT-SQL命令创建查询
常用的格式:
SELECT表名1. 字段名1 [AS标题名1], 表名1. 字段名2 [AS
标题名2], …
FROM 数据库名! 表名1 [,数据库名! 表名2 ] [, 数据库名! 表
名3 ]
[TO FILE 文本文件名| into table| into cursor表文件名
]
[ WHERE选定条件]
[GROUP BY分组字段名]
[HAVING分组中的满足条件]
[ORDER BY排序字段名1 [ASC| DESC] [, 排序字段名2 [A
SC | DESC] ...]]
示例:
浏览学生中的查询学生student.qpr :
SELECT 表xs.xh as 学号, 表xs.xm as 姓名, 表xs.xb as 性
别, ;
表xs.csrq as 出生日期, 表xs.bj as 班级名称;
FROM 数据test!表xs;
WHERE 表xs.bj =cs1;
ORDER BY 表xs.xh;
INTO TABLE xs
浏览成绩中的按课程查询sub_cj.qpr :
SELECT 表xs.bj as 班级名称, COUNT(表xs.xh) as 班级人数,
AVG(表cj.cj) as 平均分, ;
MAX(表cj.cj) as 最高分, MIN(表cj.cj) as 最低分;
FROM 数据test!表xs, 数据test!表cj, 数据test!表kc;
WHERE 表cj.xh = 表xs.xh;
AND 表kc.kcm = 表cj.kcm;
AND 表cj.kcm = sc1;
GROUP BY 表xs.bj;
ORDER BY 表xs.bj;
INTO TABLE sub_cj
5.2 创建视图
1. 视图的特点
1) 视图是存在于数据库中的一个虚表,不以独立的文件形式保存;
2) 视图中的数据是可以更改的,它不仅具有查询的功能,且可以把更新结果反映到源数
据表中;
3) 视图打开时,其基表自动打开,但视图关闭时,其基表并不随之自动关闭;
4) 视图的数据源可以是自由表、数据库表或另一个视图。

2. 用视图设计器创建本地视图
从项目管理器中选择一个数据库→选择本地视图→单击新建按钮→选择新视图
→添加所需的数据表→在视图设计器中按照与创建查询相同的步骤(2)~(6)建立视图→设置更新条件→保存视图→给出视图名称→关闭视图设计器(可以先运行一下看看)。

创建参数化视图:
在筛选页面的实例框中输入:?参数名→从查询菜单中选择视图参数→在对话框中给出参数名并选择参数类型→确定→保存视图→给出视图名称→关闭视图设计
器(可以先运行一下看看)。

3. 用视图向导创建本地视图
从项目管理器中选择一个数据库→选择本地视图→单击新建按钮→选择视图向导
→选取字段→关联表→记录操作范围→筛选记录→排序记录→选择保存方
式→完成。

4. 用CREATE SQL VIEW 命令创建视图
打开数据库,用命令来创建视图:
OPEN DATABASE 数据库名
CREATE SQL VIEW 视图文件名AS SQL-SELECT 语句
例: OPEN DATABASE SJ
CREAT SQL VIEW SCORE AS SELECT SJCJ.XH, SJCJ.CJ ;
FROM SJ!SJCJ WHERE SJCJ.KCH=”计算机基础”
5. 视图的使用
用菜单方式对视图中的记录进行编辑的方法与操作数据表相同。

也可用以下命令操作。

视图操作基本命令
6.利用视图更新源表数据
可在视图设计器的更新条件页面中进行如下设置来实现对源表数据的更新:
1)从表框中选择想要更新的源表;
2)在字段名框中单击一个字段前关键列 和更新列 ,使其作为主关键字和可更新字段;
3)将发送SQL 更新复选框选中
5.3 SQL 语言中的命令语句
SQL是一种日趋流行的标准的数据库系统管理语言,能使数据检索异常地方便、灵活。

VFP5.0支持的7条SQL命令一览表。

相关文档
最新文档