数据库技术与应用课件(蒋朝辉)第5章 关系数据库语言 SQL.pptVIP

数据库技术与应用课件(蒋朝辉)第5章 关系数据库语言 SQL.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例26,求数学系或计算机系姓张的学生的信息。其代码如下: USE 学生_课程 SELECT * FROM 学生 WHERE 所在系 IN ( 数学系,计算机系 ) AND 姓名 LIKE 张%; 例27,求缺少了成绩的学生的学号和课程号。其代码如下: USE 学生_课程 SELECT 学号,课程号 FROM 选课 WHERE 成绩 IS NULL; 连接查询 包含连接操作的查询语句称为连接查询。连接查询包括等值连接、自然连接、求笛卡尔积、一般连接、外连接、内连接、左连接、右连接和自连接等多种。由于连接查询涉及被连接和连接两个表,所以它的源表一般为多表。连接查询中的连接条件通过WHERE子句表达,连接条件和元组选择条件之间用AND(与)操作符衔接。 等值连接和非等值连接 连接查询中,用来连接两个表的条件称为连接条件或连接谓词。连接条件的一般格式为: [ 表名1.] 列名1 比较运算符 [ 表名2.] 列名2 其中:比较运算符主要有:=、、、=、= 和 != ;连接谓词中的列 名称为连接字段。连接条件中,连接字段类型必须是可比的,但连接字段不 一定是同名的。 当连接运算符为“ = ”时,该连接操作称为等值连接;否则,使用其他运算符的连接运算称为非等值连接。当等值连接中的连接字段相同、并且在SELECT子句中去除了重复字段时,则该连接操作为自然连接。 例28,查询每个学生的情况以及他(她)所选修的课程。其代码如下: USE 学生_课程 SELECT 学生 . * ,选课 . * FROM 学生, 选课 WHERE 学生 . 学号 = 选课 . 学号 ; 例29,求学生的学号、姓名、选修的课程名及成绩。其代码如下: USE 学生_课程 SELECT 学生 . 学号,姓名, 课程名, 成绩 FROM 学生,课程,选课 WHERE 学生 . 学号 = 选课 . 学号 AND 课程 . 课程号 = 选课 . 课程号 例30,求选修C1课程且成绩为90分以上的学生学号、姓名及成绩。其代码如下: USE 学生_课程 SELECT 学生.学号,姓名,成绩 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号= C1 AND 成绩90; (2)自身连接 连接操作不只是在两个表之间进行,一个表内还可以进行自身连接操作,表自身的连接操作称为自身连接。 例如,课程表中的先行课是在上学期应开设的,先行课的先行课,即间接先行课应提前一学年开设。如果求查询某门课的间接先行课或全部课程的间接先行课,就需要对课程表进行自身连接。 例31,查询每一门课的间接先行课(即先行课的先行课)。其代码如下: USE 学生_课程 SELECT A.课程号,A.课程名,B.先行课 FROM 课程 A,课程 B WHERE A.先行课=B.课程号 解题说明: 1)同一查询语句中,当一个表有两个作用时,需要对表起别名,应用中使 用表的别名。例题中的A和B分别是课程的别名,A和B分别作为独立表使用。 2)该题的连接条件是A表中的先行课与B表中的课程号等值连接,其结果集中“B.先行课”为“A.课程号”的间接先行课字段。由于A和B都是课程的别名,所以该例是自连接操作。 3)数据库系统在执行[例31]的自连接操作时,首先按别名形成两个独立表A和B,然后根据要求连接成结果表. 4) 表A,表B以及自连接的结果集,如下表所示. (3)外部连接 在前面的连接示例中,结果集中只保留了符合连接条件的元组,而排除了两个表中没有对应的或匹配的元组,这种连接称为内连接.如果要求查询结果集中保留非匹配的元组,就要执行外部连接操作. 外部连接分左外部连接和右外部连接两种:左外部连接操作是在结果集中保留连接表达式左表中的非匹配记录;右外部连接操作是在结果集中保留连接表达式右表中的非匹配记录。左外部连接符号为“*=”,右外部连接符号为“=*”。外部连接中不匹配的分量用NULL表示。 设有职工和部门两个基本表,基本表中的数据如下表所示。 例32,用SQL表达职工和部门之间的内连接、左外部连接和右外部连接的语句分别如下: USE 学生_课程 SELECT 职工.*,部门名称,电话 FROM 职工,部门 WHERE 职工.所在部门= 部门.部门号; 内连接: 左外部连接: USE 学生_课程 SELECT 职工.*,部门名称,电话 FROM 职工,部门 WHERE 职工.所在部门*= 部门.部门号; USE 学生_课程 SELECT 职工.*,部门名称,电话 FROM 职工,部门 WHERE 职工.所在部门 =*部门.部门号; 右外部连接: 对它们进行不同连接会产生不同的结果集,如下表所示。 内连接的结果集 左外部连接的结果

文档评论(0)

1243595614 + 关注
实名认证
文档贡献者

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档