- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章关系数据库标准语言SQL
第五章 关系数据库标准语言SQL
SQL是结构化查询语言Structured Query Language的缩写,它包括了数据定义、数据查询、数据操作和数据控制等方面的功能。以前的非关系模型的数据语言一般包括存储模式描述语言、概念模式描述语言、外部模式描述语言和数据操纵语言等。
SQL语言运行方式有两种:交互方式和程序方式
查询功能:
SQL的核心是查询,它的查询命令也称做Select命令,基本形式由select-from-where查询块组成。
Select说明要查询的数据
From 说明要查询的数据来自哪个表或哪些表
Where 说明查询条件,即选择元组的条件
Group by 用于对查询结果进行分组,可利用它进行分组汇总
Having必须跟随group by 使用,它用来限定分组必须满足的条件
Order by 用来对查询的结果进行排序
简单查询(单表查询):
sele 字段名 from 表名 where 查询条件
从职工关系中检索所有工资值
select 工资 from 职工
结果中有重复值,去掉重复值用短语distinct:
sele dist 工资 from 职工
检索仓库关系中的所有元组
sele * from 仓库
检索工资多于1230元的职工号
sele 职工号 from 职工 where 工资1230
检索哪些仓库有工资多于1210元的职工
sele dist 仓库号 from 职工 where 工资1210
给出在仓库“WH1”或“WH2”工作,并且工资少于1250元的职工号
sele 职工号 from 职工;
where 工资1250 and (仓库号=’ WH1’ or 仓库号=’ WH2’)
简单的联接查询
联接查询是一种基于多个关系的查询。在查询中表之间的联接相当于是进行了等值联接。
找出工资多于1230元的职工号和他们所在的城市。
sele 职工号, 城市 from 职工,仓库;
where (工资1230) and (职工. 仓库号=仓库. 仓库号)
找出工作在面积大于400的仓库的职工号以及这些职工工作所在的城市。
sele 职工号, 城市 from 仓库, 职工;
where (面积400) and (职工. 仓库号=仓库. 仓库号)
嵌套查询
这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。
哪些城市至少有一个仓库的职工工资为1250元?
sele 城市 from 仓库 where 仓库号 in;
(sele 仓库号 from 职工 where 工资=1250)
查询所有职工的工资都多于1210元的仓库的信息。
sele * from 仓库 where 仓库号 not in;
(sele 仓库号 from 职工 where 工资=1210 )
sele * from 仓库 where 仓库号 not in;
(sele 仓库号 from 职工 where 工资=1210);
and 仓库号 in (sele 仓库号 from 职工)
找出和职工E4挣同样工资的所有职工。
sele 职工号 from 职工 where 工资=;
(sele 工资 from 职工 where 职工号=’E4’)
几个特殊的运算符(between …and…和like)
检索出工资在1220元到1240元范围内的职工信息
sele * from 职工 where 工资 between 1220 and 1240
sele * from 职工 where 工资 not between 1220 and 1240
(2)从供应商关系中检索出全部公司的信息,不要工厂或其它供
应商的信息。
sele * from 供应商 where 供应商名 like ‘%公司’
(3)找出不在北京的全部供应商信息。
sele * from 供应商 where 地址!=’北京’
或 sele * from 供应商 where not (地址=’北京’)
5、排序: 是对查询结果排序,排序短语是order by,可以按升序(asc)
或降序(desc)排序,并且允许按一列或多列排序。
order by 字段名 [asc/desc]
按职工的工资值升序检索出全部职工信息。
sele * from 职工 order by 工资
sele * from 职工 order by 工资 de
文档评论(0)