关系数据库标准语言SQL2

关系数据库标准语言SQL2

ID:39229747

大小:379.50 KB

页数:44页

时间:2019-06-28

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

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

1、第六章关系数据库标准语言SQL6.1SQL语言的概述SQL是结构化查询语言,它包括:查询数据定义数据操纵数据控制SQL已经成为关系数据库的标准数据语言,掌握SQL语法可以很方便地对数据进行管理。SQL查询的特点:一体化语言。SQL提供的功能可以实现数据库生命周期中的全部活动,包括:定义数据库和表的结构对表中的数据的录入、修改、删除、查询和维护数据库重构、数据库安全性控制2)高度非过程化。3)语言简洁。4)统一的语法结构对待不同的工作方式。命令窗口以人机交互方式使用,程序设计中以程序方式使用。6.3SQL的查询功能常用的命令格式SELECT[DISTINCT][TOP<数值表达

2、式]][PERCENT][字段名]FROM<表名>INTOTBALE<表名>WHERE<表达式1>[AND<表达式2>……]GROUPBY<分组字段名>[HAVING<分组条件>ORDERBY<排序字段名>[DESC][ASC]…(ZW12.3)说明:基本子句:SELECT-FROM-WHERE操作子句:ORDER、GROUP等子句SELECT子句:指定查询结果中的数据。FROM子句:指定查询的表。WHERE子句:指定查询的条件。6.3.1基本查询所谓基本查询:指无条件查询。由SELECT、FROM构成无条件查询.1、检索所有值。例:显示职工表中的所有信息供应商表.dbf职工

3、表.dbfSELE*FROM职工“*”是通配符,表示所有属性,即字段。这里的命令等同于:SELECT职工号,仓库号,工资FROM职工表2、去掉重复值的检索使用DISTINCT短语:去掉重值.例1:显示职工表中的所有工资信息,要求不显示重复值。SELEDISTINCT工资FROM职工表例2:列出所有学生表中学生的姓名与年龄。使用SELE姓名,YEAR(DATE())-YEAR(出生日期)AS年龄fromstudent注:AS(列名)用于指定输出时使用的列标题,可以不同于字段名。6.3.2带条件的查询1、使用WHERE短语的简单查询查询基于单个表,可有简单的查询条件由SELECT

4、、FROM和WHERE短语构成条件查询。例1:查询职工表中所有仓库号为“WH1”的信息。SELE*FROM职工表WHERE仓库号=“WH1”例2:给出在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工号。SELECT职工号FROM职工表WHERE工资<1250AND;(仓库号=“WH1”OR仓库号=“WH2”)“;”,表示续行号.小结:上面的例子在FROM之后只指定了一个关系。12.12、使用WHERE短语的简单联接查询联接查询是基于多个关系的查询,查询所要求的结果出自多个关系。在语句中要指定联接的条件,即多个关系的相同属性:表1.字段名=表2.字段名例3:找出工

5、资多于1230元的职工号和他们所在的城市。SELE职工号,城市FROM职工表,仓库表;WHERE(工资>1230)AND(职工表.仓库号=仓库表.仓库号)例4:找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。SELECT职工号,城市FROM职工表,仓库表WHERE;面积>400AND(职工表.仓库号=仓库表.仓库号)注意:1、这里的“职工.仓库号=仓库.仓库号”是联接条件。2、当FROM之后的多个关系中含有相同的属性时,这时必须用关系前缀“.”直接指明属性所属的关系。6.3.3、嵌套查询嵌套查询:指在SELE-FROM-WHERE查询块内部再嵌入另一个查询块

6、,称为子查询。嵌套查询的运算:先计算子查询,然后将子查询的结果传给外层查询使用。查询所要求的结果:出自一个关系,但相关的条件却涉及多个关系。常用内层与外层嵌套的语句有:IN语句、ALL语句、ANY语句IN语句:IN(属于)或NOTIN(不属于)即查询字段所需的值属于子查询中的结果。用法:<字段>IN(<子查询>)比如:查询职工E3所在仓库的城市.分析:此查询确定的内容:涉及两个表,即职工表和仓库表子查询为:在职工表中找出职工E3所在的仓库号(内层查询)查询的条件为:职工号=“E3”查询的结果为:仓库号.wh1命令:SELE仓库号FROM职工表WHERE职工号=“E3”外层查询

7、:在仓库表中找出仓库号属于子查询仓库号所对的城市。内外层的所属关系:仓库号IN命令:SELE城市FROM仓库表WHERE仓库号IN此查询的完整的命令:SELE城市FROM仓库表WHERE仓库号IN;(SELE仓库号FROM职工表WHERE职工号=“E3”)例4:哪些城市至少一个仓库的职工工资为1250元?分析:此题为先在内查询中找出工资为1250元的仓库号,然后在以此结果到仓库表中找出对应的城市。内层查询:查询的结果为:职工表中的仓库号查询的条件为:工资=1250(WH1、WH2)命令:SELE仓库号F

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

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

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