第7章查询与视图.ppt

上传人:scccc 文档编号:11887697 上传时间:2021-10-14 格式:PPT 页数:21 大小:214KB
返回 下载 相关 举报
第7章查询与视图.ppt_第1页
第1页 / 共21页
第7章查询与视图.ppt_第2页
第2页 / 共21页
第7章查询与视图.ppt_第3页
第3页 / 共21页
第7章查询与视图.ppt_第4页
第4页 / 共21页
第7章查询与视图.ppt_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《第7章查询与视图.ppt》由会员分享,可在线阅读,更多相关《第7章查询与视图.ppt(21页珍藏版)》请在三一文库上搜索。

1、,数据库技术及应用,教材:Visual FoxPro 8.0实用教程 谢维成 陈永强 郑海春 编著 清华大学出版社,第7章 查询与视图,7.1 创建查询 7.2 应用查询 7.3 创建视图 7.4 SQL结构化查询语言 7.5 习题,7.1 创建查询,数据库的优点在于它具有很强的查询功能。在VFP的数据库中,可以根据用户的需要建立查询,从一个表或多个表中检索符合指定条件的记录,供用户查看、更改和分析。 视图是在数据库表的基础上创建的一种表,虽然它是实际并不存在的虚拟表,但是在数据查询中却有着广泛的应用。相对于查询而言,视图的优点是能在查询出来的数据结果上直接修改数据,且能将修改即时反馈到数据源

2、上。,查询的含义,利用查询可以从一个或多个表中检索用户需要的数据。用户不能修改查询结果,查询结果也不会影响原来的数据文件,这正是查询与视图的差别。 通过查询,用户可以分组和排序记录,在查询中执行计算,并且还可以使用查询作为表单或报表的数据来源,从而提供了极大的灵活性。所有这些功能都是其他方法所不能实现的。,查询向导,使用“查询向导”可以快速创建查询。用户只需按照向导提示的步骤,逐一回答向导提出的问题,就可以正确地建立查询。,【例7.1】使用查询向导建立查询,要求从“xsqk.dbf”(学生情况表)和xscj.dbf(学生成绩表)中查询出“no”(学号)为“000802103”的学生的学号、姓名

3、、性别、课程代码和成绩。,查询设计器,利用查询向导可以按照系统提示一步步创建,但过于程序化。如果要创建较为复杂的查询,则可以使用“查询设计器”来创建查询。,【例7.2】使用查询设计器创建查询,要求同7.1。,7.2 应用查询,在使用“查询向导”或“查询设计器”创建了查询后,用户可以指定查询结果的输出方式、运行查询,以及定制查询。,设置查询结果的输出方式,VFP中,可以将查询结果发送到不同的位置,如果没有设置输出类型,那么查询结果默认显示在浏览窗口中。设置查询结果的输出方式时,可选择“查询”菜单下的“查询去向”命令,或者单击“查询设计器工具栏”上的“查询去向”命令按钮,打开“查询去向”对话框,然

4、后单击相应的按钮即可。,运行查询,设计完查询并指定查询结果的输出后,就可以选择“查询”菜单下的“运行查询”命令运行查询了。VFP将执行由用户在查询设计器中建立的SQL语句,并将结果送往用户指定的目的地。如果没有选择特定的输出类型,查询结果将显示在浏览窗口中。,查看SQL语句,如果在建立查询时,要查看SQL语句,可以选择“查询”菜单下的“查看SQL”命令,在打开的窗口中查看建立查询所用的SQL语句。,7.3 创建视图,视图分为本地视图和远程视图两种。远程视图是指所选取的数据中有来自远程数据源的数据,例如从网络服务器那里取得的数据,或者是在本地计算机上但是由别的数据库管理系统生成的数据库;如果所有

5、的数据均是来自本地数据源,即数据来自于由VFP本身创建的数据库,则称为本地视图。,视图和查询一样都可以从数据库中查询满足一定条件的数据记录,但相对查询而言,视图的一个突出优点是可以在查询结果的基础上修改原数据。即视图可以实现数据源的更新。,创建本地视图,1使用本地视图向导创建本地视图,【例7.3】使用本地视图向导创建本地视图,要求从“学籍管理数据库”的“xsqk.dbf”(学生情况)表中查询“出生日期”字段值在“01/01/1982”之前的所有女生的学号、姓名、性别和出生日期。,2使用视图设计器创建本地视图,【例7.4】使用视图设计器创建本地视图,要求同【例7.3】所述。,3使用命令创建本地视

6、图,CREATE SQL VIEW “视图名” AS “SQL语句”,创建远程视图,要创建远程视图,首先要创建一个命名数据连接,所谓命名数据连接是指存储在一个数据库中的数据源的定义,可供创建远程视图时按其名称引用。当用户激活一个远程视图时,此视图的连接成为通向远程数据源的管道。,远程/本地异构 数据源,连接,1创建命名连接,【例7.5】创建一个名为“学籍管理数据库_Access”的Microsoft Access Database远程数据连接,假设在“C:TEST”文件夹下已经建立了一个Access数据库,名称为“学籍管理数据库”,库中现只有一个“学生情况”表。,2创建远程视图,7.4 SQL

7、结构化查询语言,SQL(Structured Query Language)功能强大、简单易学、使用方便,已经成为数据库操作的基础,几乎所有的关系数据库系统中都支持它。,SELECT语句,【例7.6】列出学生名单。,SELECT * FROM xsqk.dbf,【例7.7】列出所有学生的民族。,SELECT DISTINCT nation AS “民族列表” FROM xsqk.dbf,【例7.8】求出xsqk.dbf表中记录的个数。,SELECT COUNT(*) AS “学生人数” FROM xsqk.dbf,【例7.9】从学籍管理数据库的xsqk.dbf、kc.dbf、xscj.dbf中

8、查看所有分数在90分以上的学生的学号、姓名、课程名和成绩,使用SELECT命令为: SELECT xsqk.no AS “学号”,xsqk.name AS “姓名”,xscj.score AS “成绩”,kc.course AS “课程名”; FROM 学籍管理数据库!xsqk INNER JOIN 学籍管理数;据库!xscj INNER JOIN 学籍管理数据库!kc; ON xscj.courseid=kc.courseid; ON xsqk.no=xscj.no; WHERE xscj.score=90; ORDER BY xsqk.no,SELECT no AS “学号”,name A

9、S “姓名” FROM xsqk.dbf WHERE name LIKE “李%”,【例7.10】列出所有的姓李的学生名单。,SELECT no AS “学号”,name AS “姓名” FROM xsqk.dbf WHERE name=“李”,【例7.11】列出所有成绩为空值的学生学号和课号。,SELECT no AS “学号”,courseid AS “课程号” FROM xscj.dbf WHERE score IS NULL,SELECT courseid AS “课程号”,AVG(score) AS “平均成绩” FROM xscj.dbf GROUP BY courseid ORD

10、ER BY courseid,【例7.12】列出各门课程的平均成绩。,【例7.13】列出各门课程平均成绩大于70分的课程号。,SELECT courseid AS 课程号,AVG(score) as 平均成绩 FROM xscj.dbf GROUP BY courseid ORDER BY courseid HAVING AVG(score)70,7.5 习题,一、选择题 1默认查询的输出形式是( )。 A)数据表 B)图形 C)报表 D)浏览 2视图设计器中比查询设计器中多出的选项卡是( )。 A)字段B)排序C)联接 D)更新条件 3SQL的数据操作语句不包括( )。 A)INSERTB)

11、DELETEC)UPDATE D)CHANGE 4SQL语句中限定查询条件的短语是( )。 A)WHILEB)FOR C)WHERE D)LOCATE,5“查询设计器”中的“筛选”选项卡的作用是( )。 A)增加或删除查询的表 B)观察查询生成的SQL程序代码 C)指定查询条件 D)选择查询结果中包含的字段 6HAVING短语不能单独使用,必须接在( )短语之后。 A)ORDER BYB)FROM C)WHERE D)GROUP BY,二、填空题 1可用视图的 功能修改源数据表中的数据。 2视图可分为 和 两种。 3视图中的数据取自数据库中的 或 。 4使用SQL语句实现向“系”表添加一个新字段“系主任C(8)”: ALTER TABLE 系 ADD 系主任C(8) 5使用SQL语句实现将一条新的记录插入“系”表中: INSERT INTO 系(系号,系名) VALUES (“04”,“数学”) 6用SQL语句实现将所有职工的工资提高5: UPDATE 教师 SET 工资=工资*1.05,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1