vf第四章关系数据库标准语言SQL

vf第四章关系数据库标准语言SQL

ID:38856088

大小:392.32 KB

页数:74页

时间:2019-06-20

vf第四章关系数据库标准语言SQL_第1页
vf第四章关系数据库标准语言SQL_第2页
vf第四章关系数据库标准语言SQL_第3页
vf第四章关系数据库标准语言SQL_第4页
vf第四章关系数据库标准语言SQL_第5页
资源描述:

《vf第四章关系数据库标准语言SQL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章关系数据库标准语言SQLSQL是结构化查询语言StructuredQueryLanguage的缩写。可以说查询是SQL语言的重要组成部分,但不是全部,SQL还包含数据定义、数据操纵和数据控制功能等部分。SQL已经成为关系数据库的标准数据语言,所以现在所有的关系数据库管理系统都支持SQL.4.1SQL概述SQL语言具有如下主要特点:①SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。②SQI语言是一种高度非过程化的语言,它没有必要一步步地告诉计算机“如何”去做,而只需要描述清楚用户要“做什么”,S

2、QL语言就可以将要求交给系统,自动完成全部工作。③SQL语言非常简洁。虽然SQL语言功能很强,但它只有为数不多的几条命令(见书p115)。④SQL语言可在命令窗口或程序中交互使用。4.2查询功能回顾专门关系运算选择:从关系中找出满足给定条件的元组的操作称为选择。投影:从关系模式中指定若干个属性组成新的关系称为投影。联接:将两个表按给定的连接条件,将第一个关系中的所有记录逐个与第二个关系的所有记录按条件进行连接(连接),即选择两个关系在连接属性上满足条件的元组拼接成一个新的关系的运算。自然联接:当连接属性具有相同属性名,连接条件取相等条件时,去掉得复属性的等值连接称为自然

3、连接。SQL的核心是查询。SQL的查询命令也称作SELECT命令,它的基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可以嵌套执行。VFP的SQLSELECT命令的语法格式如下:(见书p128)Sele字段名1,字段名2,…from表名where条件.SELECT说明要查询的数据;FROM说明要查询的数据来自哪个或哪些表,可以对单个表或多个表进行查询;WHERE说明查询条件,即选择元组的条件;GROUPBY短语用于对查询结果进行分组,可以利用它进行分组汇总;HAVING短语必须跟随GROUPBY使用,它用来限定分组必须满足的条件;ORDERBY短语用来

4、对查询的结果进行排序。4.2.1简单查询基于单个表的查询,可以有简单的查询条件。这样的查询由SELECT和FROM短语构成无条件查询,或由SELECT、from、WHERE短语组成条件查询。例4.1从职工表中检索所有工资值。SELECT工资FROM职工SELECT职工号,工资FROM职工要显示的字段名从此表名中找可以看到在结果中有重复值,如果要去掉重复值只需要指定DISTINCT短语:SELECTDISTINCT工资FROM职工DISTINCT短语的作用是去掉查询结果中的重复值。例4.2检索仓库关系中的所有元组。sele*from仓库*代表要显示的所有字段例4.3检索工

5、资多于1230元的职工号。Sele职工号from职工where工资>1230WHERE短语指定了查询条件,查询条件可以是任意复杂的逻辑表达式。例4.4检索哪些仓库号有工资多于1210元的职工。SELEDIST仓库号from职工WHERE工资>1210例4.5给出在仓库“WHl”或“WH2”工作,并且工资少于1250元的职工号。SELECT职工号FROM职工;WHER工资<1250AND(仓库号=“wh1”OR仓库号=“WH2)注意:这里的分号是续行符号,下同。4.2.2简单的联接查询联接是关系的基本操作之一,联接查询是一种基于多个关系的查询。例4.6找出工资多于1230

6、元的职工号和他们所在的城市。这里所要求检索的信息分别出自职工(职工号属性)和仓库(城市属性)两个关系,这样的检索肯定是基于多个关系的,此类查询一般用联接查询来实现。SELE职工号,城市FROM职工,仓库;WHERE(工资>1230)AND(职工.仓库号=仓库.仓库号)表名表中字段如果在检索命令的FROM之后有两个关系,那么这两个关系之间肯定有一种联系,否则无法构成检索表达式。从前面的讨论可知,仓库关系和职工关系之间存在着一个一对多的联系。当FROM之后的多个关系中含有相同的属性名时,这时必须用关系前缀直接指明属性所属的关系,如职工.仓库号,“.”前面是关系名(表名),后

7、面是属性名(字段名)。例4.7找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。SELE职工号,城市FROM仓库,职工WHERE(面积>400)AND(职工.仓库号=仓库.仓库号)4.2.3嵌套查询基于多个关系的查询,这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。例4.8哪些城市至少有一个仓库的职工工资为1250元?这个例子要求查询仓库表中的城市信息,而查询条件是职工表的工资字段值,为此可以使用如下的嵌套查询:SELECT城市FROM仓库WHE仓库号in;(SELE仓库号FROM职工WHE工资=1250)可

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。