视图与查询
chap05 查询和视图
![chap05 查询和视图](https://img.taocdn.com/s3/m/6318c9d2a8956bec0875e377.png)
打开数据库,用命令来创建视图:
OPEN DATABASE 数据库名 CREATE SQL VIEW 视图文件名 AS SQL-SELECT
语句
20
视图的使用
利用视图更新源表数据
可在视图设计器的更新条件页面中进行如下设置 来实现对源表数据的更新:
set<fieldname>=<expression> 插入表记录命令:Insert into <tablename> (字段名列表)Values(值列表) 删除表记录命令:Delete From <tablename>
[where<条件表达式>]
22
5.3 SQL命令小结
非SQL命令
建表命令:Create 修改表命令:Modify Structure 修改表记录命令:Replace 插入表记录命令:Append 删除表记录命令:Delete
VFP程序设计教程
南京理工大学紫金学院 计算机系
Chapter05 查询和视图
2
5.1 查询的创建和使用
查询的概念 查询的创建
3
查询的概念
查询:就是向一个数据库发出检索信息的请求, 从中提取符合特定条件的记录。
查询文件:保存实现查询的SELECT-SQL命令的 文件。查询文件保存时,系统自动给出扩展 名.qpr;查询被运行后,系统还会生成一个编 译后的查询文件,扩展名为.qpx。
设置查询结果的排序依据
排序决定查询输出结果中记录显示的顺序。单击排序 依据 → 从选定字段框选中字段 → 选择升序或降序 → 单击添加。
7
查询的创建
设置查询结果的分组依据
关于视图的查询、更新
![关于视图的查询、更新](https://img.taocdn.com/s3/m/1b101203aef8941ea66e0514.png)
• 视图的更新 对视图的更新,最终要转换成对表的更新。
• 若一个视图是从单个表导出,并且只是去掉了表的某些行和列, 我们称这类视图为行列子集视图。行列子集是可以更新的,即可 以对它们执行INSERT、UPDATE和DELETE语句。其他视图 有些从理论上讲仍是可以更新的,而有些则是不可更新的。
数据库原理与应用
关于视图的查询、更新
视图是从一个或几个表(或视图)中导出的表,实际上是一个虚表, 即视图所对应的数据并不实际存储在数据库中,数据库中只存储 了视图的定义。视图一经定义就可以像表一样被查询、删除、更 新,也可以用来定义其他的视图。但是在查询时,SELECT语句 的子句运用程度取决于具体的SQL工具,而更新操作更是受到一 定的限制。
• 由连接操作(即多个表)生成的视图是不允许更新 的;
• 在一个不允许更新的视图上定义的视图也是不允许 更新
• 视图中如有列名是由表达式或常量生成的,则不允 许对该视图进行INSERT和UPDATE操作,只允 许DELETE操作;
• 视图中如有列名是由集合函数生成的,则不允许对 该类视图进行更新操作;
• 视图定义时包含了GROUP BY子句,则此视图是 不允许更新的;
• 视图的定义包含有嵌套查询,并且嵌套查询的 FROM子句中涉及的表也是导出该视图的表,则此 视图是不允许更新的;
数据库实验四.视图创建和查询
![数据库实验四.视图创建和查询](https://img.taocdn.com/s3/m/269ce4681eb91a37f1115ce6.png)
南昌大学实验报告
一、实验项目名称
视图创建和查询
二、实验目的
熟悉视图定义和使用视图查询
三、实验基本原理和内容
请为三建公司项目建立一个供应情况的视图,包括供应商代码,零件代码,供应数量.针对该视图完成下列查询:
(1)找出三建工程项目使用的各种零件代码及其数量
(2)找出供应商S1的供应情况
四、主要仪器设备及耗材
PC机一台
五、实验步骤及实验数据及处理结果
1、创建视图:
CREATE VIEW三建供应情况
AS
SELECT SNO,PNO,QTY
FROM SPJ
WHERE JNO=(SELECT JNO
FROM J
WHERE JNAME='三建')
2、a:找出三建工程项目使用的各种零件代码及其数量
SELECT PNO,SUM(QTY)
FROM三建供应情况
GROUP BY PNO
b:找出供应商S1的供应情况
SELECT*FROM三建供应情况
WHERE SNO='S1'
六、参考资料
卫琳《SQL SERVER 2008数据库应用与开发教程》清华大学出版社2011.6。
视图和查询的区别
![视图和查询的区别](https://img.taocdn.com/s3/m/2cfdd18171fe910ef12df89c.png)
比如:创建一个含有order by子句的视图,看一下可以成功吗?
C:视图的优点:
为什么有了表还要引入视图呢?这是因为视图具有以下几个优点:
1:能分割数据,简化观点
可以通过select和where来定义视图,从而可以分割数据基表中某些对于用户不关心的数据,使用户把注意力集中到所关心的数据列.进一步简化浏览数据工作.
2:使用update更新视图中的数据
1:更新视图与更新表格一样,但是在视图中使用了多个基本表连接的情况下,每次更新操作只能更新来自基本表的一个数据列
例如:创建以下视图:create view del as
select 职工号,姓名,部门名称,负责人 from work1,部门
4:如果用户对表的结构进行列改名,则会删除绑定而且视图不可用.
5:如果用户对表的结构进行列的类型或者大小修改,则会删除绑定但视图可用,此时用户可以删除视图所引用的表.
使用with encryption对视图进行加密
为了保护创建视图定义的原代码,可以对视图进行加密.
where work1.部门编号=部门.部门编号
如果再执行下面的语句时:
update del set 职工号=\'001\',部门名称=\'wenda\' where 职工号=\'01\'[出现错误]
2:为数据提供一定的逻辑独立性
如果为某一个基表定义一个视图,即使以后基本表的内容的发生改变了也不会影响“视图定义”所得到的数据
3:提供自动的安全保护功能
视图能像基本表一样授予或撤消访问许可权.
4:视图可以间接对表进行更新,因此视图的更新就是表的更新
05_查询与视图
![05_查询与视图](https://img.taocdn.com/s3/m/b75a3bc250e2524de5187e58.png)
6.1.4 运行查询
DO <查询文件名> 注:命令执行方式中,必须给出查询文件的扩展名.qpr。 设计查询的目的不只是为了完成一种查询功能,在查询设 计器中可根据需要为查询输出定位查询去向。选择“查询” 菜单下的“查询去向”,或在“查询设计器”工具栏中单 击“查询去向”按钮,可打开“查询去向”对话框。 (1)浏览(2)临时表(3)表(4)图形 打印机: (5)屏幕(6)报表(7)标签
6.2.5 使用视图
2、使用视图 (1)在“项目管理器”中“浏览”视图
先选择一个数据库,接着再选择视图名,然后单击“浏览”,则在“浏览” 窗口中显示视图,并可对视图进行操作。 (2)用命令使用视图 ①先用OPEN DATABASE打开数据库,再用USE打开视图,最后用BROWSE 浏览。 ②打开数据库后,用SQL的SELECT或UPDATE直接操作视图。 对视图的更新是否反映在了基本表里,则取决于在建立视图时是否在“更新 条件”中选择了“发送SQL更新”。 总的来说,视图一经建立就基本可以像基本表一样使用,适用于基本表的命 令基本都可用于视图,比如建立索引,此索引当然是临时的,视图一关闭, 索引自动删除;多工作区时也可以建立联系等。但视图不可用MODIFY SREUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由 基本表派生出来的,只能修改视图的定义。
3、检查更新合法性
在允许更新之前,Visual FoxPro先检查远程基本表中的指定字段,看看它们在记录被提取 到视图中后没有改变,如果数据源中的这些记录被修改,就不允许进行更新操作。
“SQL WHERE子句包括”框中的这些选项决定哪些字段包含在UPDATE或DELETE语句
的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到
数据库的查询和视图
![数据库的查询和视图](https://img.taocdn.com/s3/m/aa8910e9aeaad1f346933f64.png)
4.替换查询结果中的数据
在对表进行查询时,有时希望对所查询的某些列得到的是一种概念而不是具 体的数据。 例如,查询XSB表的总学分,希望知道的是学习的总体情况,这时,就可以用 等级来替换总学分的具体数字。 要替换查询结果中的数据,则要使用查询中的CASE表达式,格式为 CASE WHEN 条件1 THEN 表达式1 WHEN 条件2 THEN 表达式2 …… ELSE 表达式 END
T1 T2 T1 T2 T1 T2
1
A
6
F
2
B
表4.5 B表
T3 1 T4 3 T5 M T3 2 T4 0 T5 N
表4.6 A B F
T1
1 2
T2
A B
T3
1 2
T4
3 0
T5
M NBiblioteka 数据库应用中最常用的是“自然连接”。进行自然连接运算要求两个表有共同 属性(列),自然连接运算的结果表是在参与操作的两个表的共同属性上进行等值 连接后,再去除重复的属性后所得的新表。自然连接运算记为 ,其中,R和S是参与 运算的两个表。 例如,若表A和B分别如表4.7和表4.8所示,则 如表4.9所示。 表4.7 A表
Visual FoxPro VF 第7章 查询与视图(1)
![Visual FoxPro VF 第7章 查询与视图(1)](https://img.taocdn.com/s3/m/0ef13903f78a6529647d5317.png)
• 注意:视图与查询最大的区别:视图是可 更新的,而查询不可以; • 查询有“查询去向”功能,可视图没有。
• 05-4考题: • 19、在Visual FoxPro中,关于查询和视图的正确描述 是______。 • A、查询是一个预先定义好的SQL SELECT语句 文件 • B、视图是一个预先定义好的SQL SELECT语句 文件 • C、查询和视图是同一种文件,只是名称不同 • D、查询和视图都是一个存储数据的表 • 30、在Visual FoxPro中,以下关于视图描述中错误的 是______。 • A、通过视图可以对表进行查询 • B、通过视图可以对表进行更新 • C、视图是一个虚表 • D、视图就是一种查询
• 33、删除视图myview的命令是______。 • A、DELETE myview VIEW • B、DELETE myview • C、DROP myview VIEW • D、DROP VIEW myview • 07-4考题: • 15、在Visual FoxPro中,以下关于查询的描述正 确的是______。 • A、不能用自由表建立查询 • B、只能用自由表建立查询 • C、不能用数据库表建立查询 • D、可以用数据库表和自由表建立查询
• 2、视图
• 如:CREATE VIEW e_w AS SELECT 职 工号,仓库号 FROM 职工
– 视图是一个定定的虚拟表,可以是本地的、远程的 或带参数的。 – 视图可引用一个或多个表,或引用其他视图。 – 视图是可更新的。 – 在关系数据库中,视图也称作窗口,即视图是操作 表的窗口,可以把它看作是从表中派生出来的虚表 (依赖于表,不独立存在)。 – 视图是数据库中的一个特有功能,只有在包含视图 的数据库打开时,才能使用视图。 – 视图一经建立就基本可以像基本表一样使用,适用 于基本表的命令基本都可以用于视图。 – 视图的建立:
第五章查询与视图1
![第五章查询与视图1](https://img.taocdn.com/s3/m/56884114bceb19e8b8f6baf4.png)
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将自动完 成对源表的更新。
视图与查询的区别
![视图与查询的区别](https://img.taocdn.com/s3/m/81247286bceb19e8b8f6baf7.png)
一、视图与查询的区别功能不同。
视图可以更新字段内容并返回原表,而查询文件中的记录数据不能修改。
这是视图与查询的本质区别。
归属不同。
视图不是一个独立的文件,它保存在数据库中。
查询文件是一个独立的文件,不属于数据库。
访问限制不同。
视图的数据来源可以是本地数据源,也可以是远程数据源,而查询不能访问远程数据源。
输出去向不同。
视图只能当表使用,而查询可以选择多种查询去向,如表、图表、报表、标签等多种形式。
使用方法不同。
视图可以作为数据源被引用,而查询不能被引用。
使用方式不同。
视图只有所属的数据库被打开时才能使用。
而查询可在“命令”窗口中执行。
二、数据库在创建关系之前,要关联的表之间必须有公共的字段和索引。
在数据库中创建的关系称为“永久关系”,之所以成为永久关系,是因为这种表与表之间的关系作为数据库的一部分存储在数据库文件中。
两个建立了关系的表可以分为父表和子表。
显然,一个父亲可以有一个或多个子女,而每个子表只能有一个父表。
这样两个表之间的关系就由子表在建立关系使用的索引类型决定了。
如果子表索引类型为[主索引]或[候选索引],那么,两表之间就是一对一关系。
否则,若子表索引类型为[普通索引]或[唯一索引],那么,两表间就是一对多关系。
而作为父表来说,它在建立关系时使用的索引类型就只能是[主索引]或[候选索引]。
三、查询在多表查询中,可以使用数据库表、自由表、本地视图或远程视图的任意组合。
在查询中,我们在表之间建立的联接与数据库中表之间的关系是不同的。
在查询中,表之间建立的联接是以选择标准存在,不会象数据库中表之间的持续关系那样持续保存下来,也不必建立在索引的基础上。
只有当字段的大小相等,且数据类型相同时才能建立联接。
同表之间的永久关系一样,一个表不能同时为两个父表的子表,也不能同时为两个子表的父表。
数据库__VFP6第4章查询与视图
![数据库__VFP6第4章查询与视图](https://img.taocdn.com/s3/m/89398f04e87101f69e31957a.png)
图4-15 查询设计器界面
(3)查询参数的设置 第一节 查询 ①确定输出的字段。在图4-15中的“可用字段”列表框中显示了上部窗 口中表的所有字段名称,通过“添加”或“全部添加”将“可用字段” 中所选择的字段移到“选定字段”列表框中。在本例中,B_xsxx表中除 szbj、xsjg、xspy等三个字段不选外其余全选,B_bjxx表中选择bjmc, B_dqxx表中选择dqmc ②设置联接条件 ③查询结果的排序。如果需要对查询的结果按一定的顺序排列,则可以 选择“排序依据”选项卡,以决定排序的依据。该选项卡如图4-16所示 。
第一节
图4-2 查询向导步骤之2 查询 查询向导步骤之2
第一节 查询 (4)步骤2:关联表
通常查询向导会自动查找两个表之间相匹配的字段 并显示在第二步的两个列表框中, 并显示在第二步的两个列表框中 , 如果这种关系正是 所需要的, 可以直接单击“ 添加” 按钮。 所需要的 , 可以直接单击 “ 添加 ” 按钮 。 如果在表之 间没有相匹配的字段, 就需要手工建立, 间没有相匹配的字段 , 就需要手工建立 , 只要分别在 两个下拉列表框中选取相应的字段即可。 两个下拉列表框中选取相应的字段即可。
图4-16 排序依据选项卡
第一节 查询 ④查询条件的设置。在“筛选”选项卡中可以设定查询的
条件,例如可以查询所有男同学的情况。“筛选”选项卡 如图4-17。
图4-17 筛选选项卡
⑤其他查询参数的设置 查询参数主要包括以上四项,其 他还有“分组依据”和“杂项”两个选项。
(4)查询结果的去向 第一节 查询
在查询设计的过程中,为了查看查询的结果, 可以随时单击“运行”按钮,VFP就会在屏幕上显 示查询的结果记录。在默认情况下,查询的结果直 接输出到屏幕上而且是不保存的。如果想改变查询 结果的去向,可以单击“查询设计器”工具栏中的 “查询去向”按钮,在图4-18所示的查询去向对话 框中选择不同的查询去向。
实现SQL Server数据库中的视图和查询
![实现SQL Server数据库中的视图和查询](https://img.taocdn.com/s3/m/915203140b4e767f5acfce24.png)
§3 管理视图 1、使用系统存储过程查看视图信息
sp_help 表/视图 sp_helptext 表/视图 sp_depends 表/视图
2、使用T-SQL语句修改视图 ALTER VIEW语句的语法格式为: ALTER VIEW [<数据库名>.][<所有者>.]视图 名[(列名[,...n])] [WITH {ENCRYPTION|SCHEMABINDING|VIEW_METADATA}] AS SELECT查询语句 [WITH CHECK OPTION] 参数说明同CREATE VIEW相同。
(5)在CREATE VIEW语句中,对于SELECT 查询语句有如下限制: 创建视图的用户必须对该视图所参照或引用 的表或视图具有适当的权限。 在查询语句中,不能包含ORDER BY(如果 要包含的话SELECT子句中要用TOP n [percent])、 COMPUTE或COMPUTE BY关键字。也不能包 含INTO关键字。 不能在临时表中定义视图(不能引用临时表)。
FROM { 表名|视图名 } [ ,...n ]
当有多个数据源时,可以使用逗号“,”分隔, 但是最多只能有16个数据源。数据源也可以像 列一样指定别名,该别名只在当前的SELECT语 句中起作用,方法为:数据源名 AS 别名,或 者数据源名 别名。指定别名的好处在于以较短 的名字代替原本见名知意的长名。
(8)SCHEMABINDING:将视图绑定到架 构上。指定 SCHEMABINDING 时,SELECT 查询语句必须包含所引用的表、视图或用户定 义函数的两部分名称 (owner.object)。不能除去 参与用架构绑定子句创建的视图中的表或视图, 除非该视图已被除去或更改,不再具有架构绑 定。否则,SQL Server 会产生错误。另外,如 果对参与具有架构绑定的视图的表执行 ALTER TABLE 语句,而这些语句又会影响该架构绑定 视图的定义,则这些语句将会失况: ①只能在当前数据库中创建视图。 ②视图中最多只能引用1024列。 ③如果视图引用的基表或者视图被删除, 则该视图不能再被使用,直到创建新的基表或 者视图。 ④如果视图中某一列是函数、数学表达式、 常量或者来自多个表的列名相同,则必须为列 定义名称。
VFP课件查询与视图
![VFP课件查询与视图](https://img.taocdn.com/s3/m/d6bbec54c4da50e2524de518964bcf84b8d52d69.png)
查询结果排序
排序决定了查询输出结果中记录或行的先后顺序,我们可以通
过“排序依据”选项卡设置查询的排序次序,方法同在用查询向
导设计查询介绍的一样,首先从“选定字段”框中选定要使用的
字段2024/2/24
16
并把它们移到“排序条件”框中,然后利用“排序选项”(从 中选择升序或降序)来设置排序条件。本例中设置Student.学号, 升序为排序依据。
选择筛选字段 设置筛选条件 输入筛选实例 是否区分大小写 设置条件逻辑
在字段名下的下拉选择框中选择“Student.性别”,在“条件”
下的下拉选择框中选择“=”,在“实例”下的文本框中输入.T.,
则查询所有的男生。
2024/2/24
15
在“逻辑”下的下拉选择框中选择“AND”,然后再在字段名下 的下拉选择框中选择“Student.学号”,在“条件”下的下拉选 择框中选择“In”,在“实例”下的文本框中输入“9904,9804” (请注意中间的“,”是En状态下输入的)。
单击
单击【预览】按钮可以显示查询结果。根据要求,设置条件如上图。其中,
虽然表中没有年级字段,但可通过“学号”得到年级(学号的前二位为年
级)202。4/2/24
6
——
查 询 向 导
记
录
排
序
调整排 序顺序
移动按钮
选择排序字段 单击【添加】 选择排序方式 单击
2024/2/24
7
查询向导——限制记录
说明:查询结果中所包含
2024/2/24
14
பைடு நூலகம்
筛选记录
选择表中符合条件的一部分记录而不是全部记录是查询的重要 任务。此例要求从所有学生的信息中选出“学号”前四位为 “9904”和“9804”的所有男生,可以利用查询设计器中的“筛选” 选项卡。“筛选”选项卡可确定用于选择记录的字段和比较准则, 以及输入与该字段进行比较的示例值。
第9章视图与查询操作
![第9章视图与查询操作](https://img.taocdn.com/s3/m/bc055221a5e9856a56126045.png)
二、视图的分类
本地视图:直接从本地计算机的数据库表或 本地视图 其他视图中提取数据。 远程视图:可从支持开放数据库连接 远程视图 (ODBC)的远程数据源(例如网络服务器) 中提取数据。
三、视图的优点
提供数据库使用的灵活性 减少用户对数据库物理结构的依赖。 可支持网络应用。
视图与查询的比较; 1、功能不同 功能不同:视图可以更新记录内容并返回源表, 功能不同 而查询中记录数据不能被修改。 从属不同:视图必须从属于某一个数据库,而查 2、从属不同 从属不同 询是一个独立的文件,它不从属于某一个数据库。 3、访问范围不同 访问范围不同:视图可以访问本地数据源,又可 访问范围不同 以访问远程数据源,而查询只能访问本地数据源。 输出方式不同:视图只能输出到数据表中,而查 4、输出方式不同 输出方式不同 关于计算机系 、建立一个本地视图, 学生的基本信息。 学生的基本信息。 具体实现的方法如下: 具体实现的方法如下: 1、打开“教学数据库” 、打开“教学数据库” 2、打开“视图设计器” 、打开“视图设计器” 3、在“视图设计器”中进行相关设计: 、 视图设计器”中进行相关设计: 1)添加表或视图 ) 2)设计视图中的字段 ) 3)设置筛选的条件 ) 4)设置更新条件 ) 5)保存视图 ) 6)运行视图 )
性别字段表达4分组依据选项卡设置5保存查询6运行查询返回视图的建立与维护视图的建立与维护p148p148152152一视图的定义二视图的分类三视图的特点优点四视图的创建返回一视图的定义一视图的定义视图是在数据表的基础上创建的一种虚拟视图中的数据是按照用户指定的条件从已有的数据库表或其他视图中抽取而来这些数据在数据库中并不另加存储而是仅在该数据库的数据字典中存储这个视图的定义
9、统计每一年龄组选修课程的学生人数。 select 年龄,count(distinct student.学号); from student,sc; where student.学号=sc.学号; group by 年龄;
查询与视图
![查询与视图](https://img.taocdn.com/s3/m/b4791bf67c1cfad6195fa797.png)
返回 退出
CopyRight 基础部
任务三 使用查询设计器创建查询
3.设计筛选条件 “条件”下拉框中的比较运算表所示。
操作符 含 义
指定字段大于等于实例文本的值
下一页 例
实
>= <= Is Null Between In
> =60 筛选出字段值大于等于60的记录 筛选出字段值大于等于 的记录 < =60 筛选出字段值小于等于60的记录 筛选出字段值小于等于 的记录 Xscj.英语 Null 英语Is 英语 筛选出英语字段值中有Null的记录 筛选出英语字段值中有 的记录 Between 50 ,70 筛选出字段值介于50~ 的记录 筛选出字段值介于 ~70的记录 In "党员","团员" 党员" "团员" 筛选出字段值为党员或团员的记录
CopyRight 基础部
视图的建立
(l)用 VIEW命令打开视图设计器 (l)用CREATE VIEW命令打开视图设计器 建立视图。 建立视图。 (2)利用 新建” 利用“ (2)利用“新建”对话框打开视图设计 器建立视图。 器建立视图。 (3)在项目管理器的 数据” 在项目管理器的“ (3)在项目管理器的“数据”选项卡中 打开视图设计器建立视图。 打开视图设计器建立视图。 (4)利用SQL命令CREATE VIEW... AS... (4)利用SQL命令CREATE 利用SQL命令 建立视图。 建立视图。
CopyRight 基础部
使用查询向导创建查询
1.设计查询
制作方法 数据源 选择字段 筛选条件 排序依据
选择查询制作方法 本任务所选择的查询文件制作方法 A.查询向导 B.查询设计器 SQLC.SQL- Select
《Visual FoxPro 6.0数据库与程序设计》课件 第4章 查询和视图(电子版)
![《Visual FoxPro 6.0数据库与程序设计》课件 第4章 查询和视图(电子版)](https://img.taocdn.com/s3/m/ca64642a192e45361066f549.png)
利用查询设计器得到的查询文件是一个文本文件,用户可 以查看其内容。 打开查询设计器,选择“查询|查看SQL”命令,打开一个 只读窗口,其中显示了一条SQL语句,它包含了用户创建这个查 询的所有信息。
18
4.2.1 视图的概念
通过视图不仅可以从多个表中提取数据,还可以在改变视
图数据后,把更新结果送回到数据源表中。 视图不能以自由表文件的形式单独存在,它必须依赖于某 个数据库,并且只有在打开相关的数据库之后,才能创建和使
(6)运行查询,获得查询结果。
4
4.1.2 创建查询
1. 启动查询设计器 (1)项目管理器:选择 “查询”数据项,单击“新建”按钮, 出现“新建查询”对话框,选择“新建查询”命令,打开查询 设计器。 (2)菜单:选择“文件|新建”命令,在“新建”对话框中选 择“查询”文件类型,然后单击“新建文件”按钮。
第4章 查询和视图
2
4.1 查询
查询和视图是检索和操作数据库的两个基本手段。
两者都可以从一个或多个相关联的数据表中提取有用的信息。 查询可以根据表或视图定义,它不依赖于数据库而独立存在, 可以显示但不能更新由查询检索到的数据(查询结果是只读 的)。
视图兼有表和查询的特点,它可以更改数据源中的数据,但
例:将“学生1”表中的“学号”字段更名为“学生证编号“
ALTER TABLE 学生1 RENAME COLUMN 学号 TO 学生证编号
对“学生1”表中的“姓名”和“出生日期”字段建立主索引
ALTER TABLE 学生1 ADD PRIMARY KEY 姓名+DTOC(出生日期) TAG 姓名_生日
(3)命令:CREATE QUERY <查询文件名>
查询与视图VFP课件
![查询与视图VFP课件](https://img.taocdn.com/s3/m/bfe19dc58bd63186bcebbc20.png)
查询与视图
一 创建查询(打开查询设计器): 创建查询(打开查询设计器) 1.鼠标操作:“文件” →“新建” →“查询” →“新 1.鼠标操作:“文件” 建文件夹” 2. 命令操作: CREATE QUERY 查询文件名
二
介绍“查询设计器”
查询设计器下部分的窗口中有几个选项卡,其含义简介如 下: “字段”:对应于SELECT短语,用来选定包含在查询结果 中的字段 图之间的联接关系; “筛选”:对应于WHERE短语,用于指定查询条件; “排序依据”:对应于ORDER BY短语,用来指定排序的 字段和排序方式;
BY和HAVING短语,用于分组; “杂项”:可以指定是否要重复记录(DISTINCT)以及列在 前面的记录(TOP短语)
“分组依据”:对应于GROUP
三 查询的输出
鼠标操作:“查询” →“查询去向”
四 运行查询(先保存再运行)
鼠标操作: 单击“查询”/“运行查询”,或 “!”按钮 。 单击“查询”/“运行查询”,或 命令操作:Do 命令操作:Do 查询文件名 :查询文件名中一定要给出查询文件的扩展名.qpr :查询文件名中一定要给出查询文件的扩展名.qpr :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 :单击“查询”/“查看SQL”,Select-SQL命令将文本窗口 中显示
一
创建视图(打开视图设计器)
鼠标操作:打开 “数据库设计器” “文件”/“新建” “文件”/“新建” “视图” 命令操作:CREATE 命令操作:CREATE VIEW 视图文件名
数据库表,创建视图。
数据库的查询和视图
![数据库的查询和视图](https://img.taocdn.com/s3/m/c266548e84868762caaed523.png)
6
数据库查询
表达式比较 【例】查询XS数据库CP表中库存量在500以上的产品情况。
SELECT * FROM CP WHERE KCL !< 500
【例】查询XSCJ数据库XS表中通信工程专业总学分大于等于42的同学的情 况。
SELECT * FROM XS WHERE专业名 = ‘通信工程’ an表中不在1979年出生的学生情况。
SELECT * FROM XS WHERE 出生时间 NOT BETWEEN ‘1979-1-1’ and ‘1979-12-31’ 使用IN关键字可以指定一个值表,值表中列出所有可能的值,当表达式与值表中的任一个匹配时, 即返回TRUE,否则返回FALSE。使用IN关键字指定值表的格式为: expression IN ( expression [,…n])
3
数据库查询
【例】 5。 计算列值 。
使用SELECT对列进行查询时,在结果中可以输出对列值计算后的值, 即SELECT子句可使用表达式作为结果,格式为: SELECT expression [ , expression ]
SELECT CPMC AS ‘产品名称’,产品总值 = JG * KCL FROM CP
17
模式匹配 LIKE谓词表达式的格式为:
string_expression [ NOT ] LIKE string_expression [ ESCAPE ‘escape_character’ ]
【例】查询XSCJ数据库XS表中计算机系的学生情况。
SELECT * FROM XS WHERE 专业名 LIKE ‘计算机’ 使用LIKE进行模式匹配时,常使用通配符,即可进行模糊查询。
16
use northwind select productid, sum(quantity) as a from [order details] where productid<10 group by productid having sum(quantity) >=30 go *group by与聚集函数连用 与聚集函数连用 *having必须与 必须与group by 联用 必须与
VF查询与视图
![VF查询与视图](https://img.taocdn.com/s3/m/d43cf1ca2cc58bd63186bd60.png)
填空 1、为“成绩”表中“总分”字段增加有效性规则:“总分必须 大于等于0并且小于等于750”,正确的SQL语句是: TABLE 成绩 ALTER 总分 总分>=0 AND 总分 <=750
2、为“学生”表的“年龄”字段增加有效性规则“年龄必须在18~45岁之间” 的SQL语句是 ALTER TABLE学生ALTER年龄 年龄<=45 AND 年 龄>=18 2、在SQL语言中,用于对查询结果计数的函数是 。 3、在SQL的SELECT查询中,使用 4、使用SQL Select语句进行分组查询时,有时要求分组满足某个条件时才查 询,这时可以用 子句来限定分组。 5、设有SC(学号,课程号,成绩)表,下面SQL的SELECT语句检索成绩高于 或等于平均成绩的学生的学号。 SELECT 学号 FROM SC WHERE 成绩>=(SELECT FROM SC)
空值查询
表中值为空表示没有确定内容,当要查询的时候: repl 供应商号 with null,订购日期 with null for 职工号 ="E4 " 然后才能用IS NULL查询,考试的时候不需要设置。
当需要本仓库的职工的工资和本仓库的平均工资 进行比较时候
自身连接和嵌套查询 sele * from 职工 A where 工资>(sele avg(工资) from 职工 B where A.仓库号=B.仓库号) 自身连接:将同一关系与自身连接。 注意:应用的原因:根据出自同一个字段,值域相同 的两个进行比较。属性是“包含”与“被包含”的关 系。
5.在Visual Foxpro中,如果要将学生表S(学号,姓名,性别,年 龄)中“年龄”属性删除,正确的SQL命令是 。 A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄FROM S D)ALTER TABLE S DELETE COLUMN 年 龄 D)ALTER TABLE S DELETE年龄 6.在Visual Foxpro的数据库表中只能有一个 。 A)候选索引 B)普通索引 C)主索引 D)惟一索引 7. 设有学生表 S( 学号 ,姓名,性别 , 年龄),查询所有年龄小于等于 18 岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是 。 A)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 4 DBSC INTO TABLE WS B)SELECT*FROMS WHERE 性别 = “女” AND 年龄 <=18ORDER BY 年龄 INTO TABLE WS C)SELECT*FROMS WHERE 性别 = “女” AND 年龄 <=18ORDER BY 年龄 DESC INTO TABLE WS D)SELECT*FROMS WHERE 性别 = “女” OR 年龄 <=18ORDER BY 年龄
vfp的查询和视图
![vfp的查询和视图](https://img.taocdn.com/s3/m/f1264764bdd126fff705cc1755270722192e59be.png)
二、视图的创建和使用
视图的概念:把分散在相关表中的数据通过联 接条件把他们收集到一起,构成一张“虚表”。 这张“虚表”就是视图,视图是数据库的一个组 成部分,是基于表的并且可更新的数据集合
视图与查询的区别:视图除了可以用来查询数 据之外,还可以当作表来使用,可以作为数据源, 也可对查询出来的数据进行修改并送回源表中
❖多表查询的创建:步骤 例题 ▪ 若有2张以上的表,在添加时一定要注意先后次 序,“纽带表”要放在两张“父表”之间 ▪ 若已进行了永久性关系的设置,则无须进行联接 ▪ 修改联接条件可在“查询设计器”—“联接”卡 片中进行 ▪ 联接条件和筛选条件类似,都是选出符合条件的 记录;不同的是筛选是将字段值和筛选值进行比 较,而联接条件是将一张表中的字段值与另外一 张表中的字段值进行比较
❖查询时会考到的最难的程度如下例:
查询信息管理系中所有成绩在480分以上,并且各门课程的成
绩不低于70分的学生。要求在查询的结果中包含学号,姓名, 总分,均分,最低分,并按照总分从高到底排列
❖ 一部分查询的练习 1. 查询学生的学号,姓名,系名,总分和平均分, 按照系名升序排序,同一个系的学生按照总分 降序排序。 2. 查询每个系每门课程的总分和平均分,要求输 出课程名,课程代号,系名,每个系的平均成 绩和总成绩,按课程代号升序排序 3. 查询各个系每位教师的课时数,要求输出系名, 工号,姓名,课时数,并按系名升序排序,同 一个系的教师按照工号升序排序 4. 查询计算机科学系各位教师的课时数,要求输 出工号,姓名,系名,课时数,并按工号降序 排序,并且将查询信息保存为表,表名为:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分组查询: 例2:查询teacher表中各教研室月收入总和. 注意:
sum(月收入) as 月收入总和
其它函数: avg( ) 求平均值 max( ) 求最大值 min( ) 求最小值 count( ) 求个数
例3:利用查询向导设计查询。
1.查询学生“李丽”的选课的情况信息,查询的文件名是 “李丽选课信息”。
2.查询“奖学金>=500”的所有学生的成绩信息和专业信息, 查询的文件名为“学生奖学金与成绩.QPR”。
本章结束,谢谢!
4.2.1查询的设计过程
利用“查询设计器”或“查询向导”,步骤如下: 步骤1:选择查询的数据源 步骤2:选择出现在查询结果中的字段 步骤3:设置查询条件 步骤4:设置排序或分组 步骤5:选择查询去向(浏览、表等) 步骤6:运行查询
4.2.3创建查询
例1:使用查询设计器查询男教师姓名、性别、教授 课程和学生专业情况,按教授课程降序排序,保存结果
第四章 视图与查询
视图与查询
4.1视图 4.2查询
4.1.1视图的设计过程 4.1.2创建视图的方法 4.1.3创建视图 4.1.4与视图相关操作
4.2.1查询的设计过程 4.2.2创建查询的方法 4.2.3创建查询 4.2.4查询去向设多个数据表中导出的“表”, 是一个虚表,只存放相应的数据逻辑关系,不保存表 的记录内容。
4.1.3创建视图
例1:利用视图设计器创建单表本地视图,要求 查询“学生信息.DBF”表中的“男”学生的学号、 姓名、性别。
例2:利用视图设计器创建一个多表本地视图, 视图包括教师表的编号和姓名,专业信息表的职 称和专业共4个字段(连接为内部连接)视图名 为abc。
4.1.3创建视图
例3:使用视图向导创建本地多表视图,见书例4-2 (103页)。 例4:利用视图设计器建立一个视图,统计男女学生 党员的人数,见书例4-5(112页)
4.1.4与视图相关的操作
1.预览、显示、运行视图 2.修改视图
MODIFY VIEW <视图名> 3.重命名视图
RENAME VIEW 原名 TO 新名 4.删除视图
DELETE VIEW <视图名> 5.使用视图
4.2 查询
查询是从一个或多个相关表中提取有用的信息。
查询和视图的区别: 1.视图能修改源表,而查询不能; 2.查询的输出去向有七种,而视图有一种; 3.查询能独立存在,而视图必须依赖于数据 库而存在。
至js表中。
查询结果如下:
课堂练习: 从学生信息、选课信息和成绩信息表中查询出学号、姓名、 成绩、语种字段,并按学号降序排序,保存查询结果至文件 xs.dbf中。
提示步骤: (1)文件----新建----查询-----新建文件 (2)选择学生信息、选课信息和成绩信息表 (3)字段:选择学号、姓名、成绩、语种 (4)排序:学号降序 (5)选查询--查询去向--表--起名 单击感叹号运行查询,浏览结果.
视图是不能单独存在的,它依赖于某一数据库而存 在,只有打开与视图相关的数据库才能创建和使用视 图。
4.1.1视图的设计过程
步骤如下: (1)打开或新建数据库,选表; (2)选择字段; (3)设置筛选条件、排序依据等; (4)运行视图。
4.1.2创建视图的方法
1、使用视图设计器创建本地视图 2、使用视图向导 3、SQL命令方法(了解)