SQL外部连接解析.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本节内容 外部连接 Union查询 当连接的两张表出现如下情况: 学生表中有5个学生的数据 考试表中有4个学生的考试成绩 此时,用内部连接,只能显示出4个学生的学生信息和考试信息 当我们希望那个没有考试信息的学生也能同时出现在结果中时,就要用到外部连接 外部连接 例1、查询所有在册学生的基本信息和考试信息。(指没有考试信息的学生也必须显示) 外部连接 本节单词: left ——左 right ——右 outer ——外部 join ——连接 left outer join ——左外部连接 right outer join ——右外部链接 Union ——并,联合 外部连接 外部连接语法: select 列名列表 from 表1 left | right outer join 表2 on 连接条件 where 一般条件 ... 注意: 1、连接条件和内连接的连接条件一样,都是: 表1.某列=表2.某列 2、到底用左外部连接还是右外部连接,取决于想显示的多余数据在左边的表1中还是右边的表2中 3、外部连接若有一般条件,则和内部连接一样放入where子句中 外部连接 例2:查询所有课程的基本信息和考试信息,若有课程没有考试信息,则至少显示它的基本信息 课程表中有考试表中没有的数据,多余的数据在课程表中,故外部连接应该朝向课程表 参考答案: select * from 课程 left outer join 考试 on 课程.课程号=考试.课程号 等同于 select * from 考试 right outer join 课程 on 课程.课程号=考试.课程号 外部连接 每个查询结果都是一个集合,若将多个SELECT语句的结果集合并为一个结果集,可用集合操作完成。(UNION) 使用UNION(并操作)进行多个查询结果的合并时,系统自动去掉重复的元组,但是参加UNION操作的结果集列的数目及其数据类型必须相同。 例3、求修读了A003课程或修读了A001课程的学生学号和成绩。 select 学号,课程号,成绩 From 考试 where 课程号=A003 union select 学号,课程号,成绩 From 考试 where 课程号=A001 Union查询中要求,union关键字后跟的查询语句的select子句的构成要和第一个查询语句的select子句一致(列的数量和类型的一致) Union查询 例4、将学生表的学号、姓名和课程表的课程号、课程名显示在一个结果集中 解题思路,学生表的学号、姓名和课程表的课程号、课程名都为字符串类型 学生表要显示的列为2列,课程表也是2列,可以用union查询实现 select 学号,姓名 from 学生 union select 课程号,课程名 from 课程 注意:Union查询中只要求,union关键字前后的查询语句的select子句的列的数量和类型的一致,没要求列名也一致。 Union查询

文档评论(0)

w6633328 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档