第4章关系数据库标准语言SQL.ppt
- 文档编号:2121818
- 上传时间:2022-10-27
- 格式:PPT
- 页数:46
- 大小:805.50KB
第4章关系数据库标准语言SQL.ppt
《第4章关系数据库标准语言SQL.ppt》由会员分享,可在线阅读,更多相关《第4章关系数据库标准语言SQL.ppt(46页珍藏版)》请在冰豆网上搜索。
第第44章章关系数据库标准语言关系数据库标准语言SQLSQL4.1SQL概述概述4.2查询功能查询功能4.3操作功能操作功能4.4定义功能定义功能了解了解SQLSQL掌握简单查询、连接查询、嵌套查询的方法掌握简单查询、连接查询、嵌套查询的方法掌握使用特殊运算符、谓词、量词、空值进行查询的方法掌握使用特殊运算符、谓词、量词、空值进行查询的方法掌握查询排序、计算、分组的方法掌握查询排序、计算、分组的方法掌握掌握SQLSQL的插入、更新、删除数据的方法的插入、更新、删除数据的方法掌握掌握SQLSQL表的定义、删除、修改表结构、定义视图的功能表的定义、删除、修改表结构、定义视图的功能了解别名、自连接查询、内外层相互嵌套查询、超链接查了解别名、自连接查询、内外层相互嵌套查询、超链接查询、查询的并运算。
询、查询的并运算。
本章知识点与要求:
本章知识点与要求:
第第44章章关系数据库标准语言关系数据库标准语言SQLSQL4.1SQL概述概述4.2查询功能查询功能4.3操作功能操作功能4.4定义功能定义功能4.14.1SQLSQL语言概述语言概述SQL是StructuredQueryLanguage(结构化查询语言)的缩写,查询是SQL的重要组成部分,但不是全部,SQL还包含数据定义、操纵、控制等功能。
目前,SQL语言已被确定为关系型数据库系统的国际标准,被绝大多数商品化关系型数据库系统采用,如Oracle、Sybase、DB2、Informix、SQLServer这些数据库管理系统都支持SQL语言作为查询语言。
SQLSQLSQLSQL语言特点语言特点语言特点语言特点vv综合统一:
综合统一:
综合统一:
综合统一:
有数据定义、查询、操纵、控制等功能,能有数据定义、查询、操纵、控制等功能,能独立完成数据库的全部操纵。
独立完成数据库的全部操纵。
vv内容简洁:
内容简洁:
内容简洁:
内容简洁:
虽功能强大,但核心功能只有虽功能强大,但核心功能只有99个动词;语法个动词;语法简单,接近自然语言。
简单,接近自然语言。
vv非过程化:
非过程化:
非过程化:
非过程化:
用户只需了解想做什么,具体怎么做有用户只需了解想做什么,具体怎么做有SQLSQL自自动完成动完成vv使用方式灵活:
使用方式灵活:
使用方式灵活:
使用方式灵活:
命令交互或嵌入程序均可命令交互或嵌入程序均可SQLSQL功能功能命令动词命令动词数据查询数据查询SELECTSELECT数据定义数据定义CREATECREATE、DROPDROP、ALTERALTER数据操纵数据操纵INSERTINSERT、UPDATEUPDATE、DELETEDELETE数据控制数据控制GRANTGRANT、REVOKEREVOKE第第44章章关系数据库标准语言关系数据库标准语言SQLSQL4.1SQL概述概述4.2查询功能查询功能4.3操作功能操作功能4.4定义功能定义功能SQLSQL数据查询由数据查询由数据查询由数据查询由SELECTSELECT命令实现,命令实现,命令实现,命令实现,该命令的基本框架是该命令的基本框架是该命令的基本框架是该命令的基本框架是SELECTSELECT-FROMFROM-WHEREWHERE查询模块查询模块查询模块查询模块SELECTSELECT命令的语法格式如下:
命令的语法格式如下:
selectdistincttop别名别名as,别名别名as.from数据库名数据库名!
aslocal_aliasinner|leftouter|rightouter|fullouterjoin!
aslocal_aliasoninto|tofileadditive|toprinterprompt|toscreenpreferencepreferencenamenoconsoleplainnowaitwhere.groupby.havingunionallorderbyasc|desc.select后面跟要查询的数据。
后面跟要查询的数据。
from后面跟查询数据的来源后面跟查询数据的来源(表表).where后面跟查询条件。
后面跟查询条件。
groupby:
对查询结果进行分组:
对查询结果进行分组orderby:
对查询结果进行排序。
:
对查询结果进行排序。
下面通过例子说明下面通过例子说明该命令的使用该命令的使用本章查询的例子将全部基于一个订货管理数据库,其包含的表有:
例例4-1:
从职工表中查询出职工的工资情况职工职工select工资工资from可以看到查询结果中有重复值,如果要去掉重复值,需要使用distinct短语:
selectdistinct工资工资from职工职工4.2.14.2.1简单查询简单查询例例4-2:
查询仓库表中的所有数据仓库仓库select仓库号仓库号,城市城市,面积面积fromfrom在在SQLSQL语句中也可以使用通配符语句中也可以使用通配符(*)表示所有字段,表示所有字段,上句命令等同于:
上句命令等同于:
select*fromfrom仓库仓库例例例例4-34-3:
列出工资多于:
列出工资多于12301230元的职工号元的职工号当需要查询满足某个条件的记录时,当需要查询满足某个条件的记录时,可以使用可以使用wherewhere指定查询条件指定查询条件wherewhere工资工资工资工资12301230selectselect职工号职工号职工号职工号fromfrom职工职工职工职工例例例例4-44-4:
查询哪些仓库中有工资多于:
查询哪些仓库中有工资多于12101210的职工的职工selectdistinctselectdistinct仓库号仓库号仓库号仓库号fromfrom职工职工职工职工wherewhere工资工资工资工资12101210例例例例4-54-5:
列出在仓库:
列出在仓库“WH1”“WH1”或或“WH2”“WH2”,且工资少于,且工资少于12501250元的职工元的职工号号selectselect职工号职工号职工号职工号fromfrom职工职工职工职工;wherewhere工资工资工资工资1250and(1230)AND1230)AND职工职工职工职工.仓库号仓库号仓库号仓库号=仓库仓库仓库仓库.仓库号仓库号仓库号仓库号连接条件连接条件连接条件连接条件例例例例4-4-77:
列出所有职工的职工号、工资、所在的城市、所完成的:
列出所有职工的职工号、工资、所在的城市、所完成的订购单号及日期、订购单的供应商名订购单号及日期、订购单的供应商名selectselect职工号职工号职工号职工号,工资工资工资工资,城市城市城市城市,订购单号订购单号订购单号订购单号,订购日期订购日期订购日期订购日期,供应商名供应商名供应商名供应商名;where(where(职工职工职工职工.仓库号仓库号仓库号仓库号=仓库仓库仓库仓库.仓库号仓库号仓库号仓库号and;and;职工职工职工职工.职工号职工号职工号职工号=订购单订购单订购单订购单.职工号职工号职工号职工号and;and;订购单订购单订购单订购单.供应商号供应商号供应商号供应商号=供应商供应商供应商供应商.供应商号供应商号供应商号供应商号)fromfrom职工职工职工职工,仓库仓库仓库仓库,订购单订购单订购单订购单,供应商供应商供应商供应商;4.2.34.2.3嵌套查询嵌套查询嵌套查询嵌套查询在在SQL中,一个中,一个select-from-where语句语句称为一个称为一个查询块查询块,将一个查询块将一个查询块(子查询子查询)嵌套在另一个查询块嵌套在另一个查询块(父查询父查询)的的where子子句的条件条件中,就称为句的条件条件中,就称为嵌套查询嵌套查询。
嵌套查询形式如下:
嵌套查询形式如下:
selectselect.from.wherefrom.where(selectselect.from.wherefrom.where)子查询子查询父查询父查询在处理嵌套查询时,首先查询出子查询的结果,然后将子在处理嵌套查询时,首先查询出子查询的结果,然后将子查询的结果作为父查询的条件,再进行父查询的查询。
查询的结果作为父查询的条件,再进行父查询的查询。
selectselect.from.wherefrom.wherenotin|notexists|any|all|some;(selectselect.from.wherefrom.where)子查询子查询父查询父查询在嵌套查询中,常使用在嵌套查询中,常使用in、notin、exists、notexists、any、some、all、比较运算符、比较运算符等连接父查询中已有的条件等连接父查询中已有的条件表达式和子查询。
嵌套查询一般形式如下:
表达式和子查询。
嵌套查询一般形式如下:
in:
表示在表示在之中之中,是属于的意思,即外层查询where后的条件属于子查询集合中的元素。
notin则相反exists:
用来检查在子查询中是否有结果返回。
带有exists的子查询不返回任何实际数据。
当子查询的查询结果集合为非空时,外层的WHERE子句返回”真”,否则返回”假”。
notexists则相反。
比较运算符:
主要有、=、=、等。
any|some:
子查询的任何一个结果;all:
子查询的全部结果;selectselect.from.wherefrom.wherenotin|notexists|any|all|some;(selectselect.from.wherefrom.where)例例例例4-84-84-84-8:
列出哪些城市至少有一个仓库的职工的工资为:
列出哪些城市至少有一个仓库的职工的工资为12501250。
selectselect城市城市城市城市fromfrom仓库仓库仓库仓库wherewhere仓库号仓库号仓库号仓库号in;in;(selectselect仓库号仓库号仓库号仓库号fromfrom职工职工职工职工wherewhere工资工资工资工资=1250=1250)selectselect城市城市城市城市fromfrom仓库仓库仓库仓库wherewhere首先,至少有一个职工的工资为首先,至少有一个职工的工资为12501250的的仓库都有哪些呢?
仓库都有哪些呢?
selectdistinctselectdistinct仓库号仓库号仓库号仓库号fromfrom职工职工职工职工wherewhere工资工资工资工资=1250=1250然后,根据检索出来的然后,根据检索出来的仓库号,再从仓库表中检索出所在的城市仓库号,再从仓库表中检索出所在的城市仓库号仓库号仓库号仓库号=?
!
=集合单值在在之中之中inin故检索语句应该为:
故检索语句应该为:
例例例例4-94-94-94-9:
列出至少有一名职工的仓库信息。
列出至少有一名职工的仓库信息。
列出至少有一名职工的仓库信息。
列出至少有一名职工的仓库信息。
(select*from(select*from职工职工职工职工wherewhere仓库号仓库号仓库号仓库号=仓库仓库仓库仓库.仓库号仓库号仓库号仓库号)select*fromselect*from仓库仓库仓库仓库whereexists;whereexists;例例例例4-104-104-104-10:
列出还没有职工的仓库的信息。
列出还没有职工的仓库的信息。
列出还没有职工的仓库的信息。
列出还没有职工的仓库的信息。
(select*from(select*from职工职工职工职工wherewhere仓库号仓库号仓库号仓库号=仓库仓库仓库仓库.仓库号仓库号仓库号仓库号)select*fromselect*from仓库仓库仓库仓库wherenotexists;wherenotexists;select*from仓库仓
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 关系 数据库 标准 语言 SQL