03VFP课件09版SQL语言2学时.ppt

  1. 1、本文档共92页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章关系数据库标准语言SQL 5-1 SQL概述 SQL(Structured Query Language) SQL包含数据定义 数据操纵和数据控制 SQL语言具有如下特点: 1.综合统一 SQL语言是一种一体化语言,它包括数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。 2. 高度非过程化 3.面向集合的操作方式 SQL语言采用集合操作方式,不仅查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。 4.以同一种语法结构提供两种使用方式 SQL语言既是自含式语言,又是嵌入式语言。 5. SQL语言非常简洁。见下表 5-1-2 SQL语言的基本概念 1.SQL语言的模式结构 SQL语言支持关系数据库三级模式结构。其中外模式对应于视图(View)和部分基本表(Base Table),模式对应于基本表,内模式对应于存储文件。 l?基本表 基本表是本身独立存在的表,在SQL中一个关系就对应一个表。一些基本表对应一个存储文件,一个表可以带若干索引,索引也存放在存储文件中。    l?存储文件 存储文件的逻辑结构组成了关系数据库的内模式。存储文件的物理文件结构是任意的。 ? l?视图 视图是从基本表或其他视图中导出的表,它本身不独立存储在数据库中,也就是说数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中,因此视图是一个虚表。 用户可以用SQL语言对视图和基本表进行查询。在用户眼中,视图和基本表都是关系,而存储文件对用户是透明的。 2.SQL语言的使用 SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。VFP采用了后者。 VFP在SQL方面提供支持数据定义、数据查询和数据操纵功能,但没有提供数据控制功能。 5-2 查询功能 SQL的核心是查询。SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询模块组成,多个查询可以嵌套执行。 VFP的SQL SELECT 命令的语法格式如下: SELECT 字段列表 FROM 表列表 [WHERE 条件表达式] [GROUP BY ….][HAVING条件表达式] [UNION …] [ORDER BY …] SELECT说明要查询的数据 FROM说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询; WHERE说明查询条件,即选择元组的条件; GROUP BY短语用于对查询结果进行分组,可以利用它进行分组汇总; HAVING短语必须跟随GROUP BY 短语使用,它用来限定分组必须满足的条件; ORDER BY 用来对查询的结果进行排序。 订货管理系统数据库 5-2-1 简单查询 例5·1 从职工关系中检索所有的工资值。 SELECT 工资 FROM 职工 SELECT DISTINCT 工资 FROM 职工 去掉查询结果中的重复值。 例5·2 检索仓库关系中的所有元组。 SELECT * FROM 仓库 等价于SELECT 仓库号,城市,面积 FROM 仓库 举例 例5.3 检索工资多于2220元的职工号 SELECT 职工号 FROM 职工 WHERE 工资2220 例5.4 检索哪些仓库有工资多于2220元的职工 SELECT DISTINCT 仓库号 FROM 职工 ; WHERE 工资2220 举例 例5.5 给出仓库”SH1”或”SH2”工作,并且工资少于2250元的职工 SELECT 职工号 FROM 职工 ; WHERE 工资2250 AND; (仓库号=“SH1” OR仓库号=”SH2”) 以上检索只基于一个关系 5-2-2 简单的联接查询 联接查询是一种基于多个关系的查询. 例5.6 找出工资多于2230元的职工号和他们所在的城市 SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (工资2230) AND(职工.仓库号=仓库.仓库号) 仓库关系和职工关系之间存在一个一对多的联系。 例5.7 找出工作在面积大于1400的仓库的职工号以及这些职工所在的城市 SELECT 职工号,城市 FROM 职工,仓库 ; WHERE (面积1400) AND(职工.仓库号=仓库.仓库号) 5-2-3 嵌套查询 基于多个关系的查询,这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。 当检索关系X中的元组时,它的条件依赖于相关的关系Y中的元组属性值,这时使用嵌套查询. 例5.8 哪些城市至少有一个仓库的职工工资

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档