- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章SQL关系数据库的标准
第4章 SQL-关系数据库的标准 ;概述——SQL的发展和现状;概述——SQL的发展和现状;概述——SQL的特点和功能 ;概述——SQL的特点和功能 ;交互式SQL
一般DBMS都提供联机交互工具
用户可直接键入SQL命令对数据库进行操作
由DBMS来进行解释
嵌入式SQL
能将SQL语句嵌入到高级语言(宿主语言)
使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力
;概述——SQL体系结构;(1)一个SQL数据库是表(Table)的集合。
(2)一个表或者是基本表,或者是一个视图。基本表是实际存储在数据库中的表,而视图是由若干基本表或其它视图构成的查询语句定义的。
(3)一个基本表对应一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
(4)用户可以用SQL语句对视图和基本表进行查询操作。在用户看来,视图和基本表是一样的,都是关系。
;SQL的数据查询;Select语句的含义;二、单表查询;单表查询——选择表中的若干列 ;单表查询——选择表中的若干列 ;单表查询——选择表中的若干列;单表查询——选择表中的若干元组 ;查询满足条件的元组
;Where 子句——运算符;Where 子句——比较大小;Where 子句——确定范围;Where 子句——确定集合;Where 子句——Like;Where 子句——Like;Where 子句——转义符 escape ;Where 子句——空值查询 ;Order By子句(对查询结果排序);Order By子句——实例;聚合函数;聚合函数——实例;聚合函数——Group By子句;聚合函数——Having子句;聚合函数—— Null;;它是条件连接,这个条件称为连接条件或连接谓词
可以是等值连接,也可以是不等值连接
新的关系的属性集是参加连接的关系的属性的组合,不去除重复属性
Inner是缺省的连接方式
也可以用笛卡儿积 + 选择的方法实现;例25、查询每个学生的全部信息及其选课情况
SELECT 学生.*, 选课.*
FROM 学生 INNER JOIN 选课
ON 学生.学号 = 选课.学号;
SELECT 学生.*, 选课.*
FROM 学生 ,选课
Where 学生.学号 = 选课.学号;;例26、查询每一门课的先修课
SELECT Distinct f.*
FROM 课程 f Inner Join 课程 S
On F.课程编号 = S.先修课程编号;;它是条件连接,且条件是必需的。
若一个关系中的元组在另一个关系中没有相匹配的元组,则这些元组会在连接结果中出现,并在另一个关系的其他属性位置上放上Null,而不是像Inner 那样被忽略。
新的关系的属性集是参加连接的关系的属性的组合,不去除重复属性
有左外连接、右外连接、全外连接;左外连接(Left Outer Join ):
SELECT *
FROM 学生 LEFT JOIN 选课 ON 学生.学号 = 选课.学号;
右外连接(Right Outer Join ):
SELECT *
FROM 学生 RIGHT JOIN 选课 ON 学生.学号 = 选课.学号;
全外连接(Full Outer Join ):
SELECT *
FROM 学生 FULL JOIN 选课 ON 学生.学号 = 选课.学号;;例27、查询选修001号课程且成绩在90分以上的所有学生信息。
SELECT *
FROM 学生 INNER JOIN 选课 ON 学生.学号 = 选课.学号
WHERE 选课号=‘001’ and 选课.成绩90;
例28、查询每个学生的学号、姓名、选课的课程名和成绩。;;返回单值的子查询,只返回一行一列
父查询与单值子查询之间用比较运算符进行连接
运算符:、=、=、=、、
例29:找出龄的学生;子查询返回多行一列
运算符:In、All、Some|Any、Exists;标量值与子查询返回集中的某一个相等,true
IN 被用来测试多值中的成员
例30:查询选修‘C01’课程的学生的学号、姓名。
Select 学号,姓名
From 学生
Where 学号 IN ( Select 学号
From 选课
Where 学号 = ‘C01’);;例31、 查询选修了 ‘数据库’的学生的学号和姓名
;多值比较:多行一列
父查询与多值子查询之间的比较需用All来连接
标量值s比子查询返回集R中的每个都大时,sAll R 为True
All表示所有
all、 all、=all、=all、 all
all 等价于 not in
例32:查询女生中年龄比男生都小的女生的姓名 ;多值比较:多行一列
父查询与多值子查询之间的比较需用Some/A
文档评论(0)