内部联接与外部联接 - 电子信息学院-山东商业职业技术学院
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
8
内部联接与外部联接
讲述/示范
构建一个联接,显示全球快餐的顾客及其订单的列表。 应包括所有顾客,无论他们是否下了订单。
SELECT c.名字, c.姓氏, o.订单编号, o.订单日期, o.订单金额 FROM f_客户 c LEFT OUTER JOIN f_订单 o ON (c.标识 = o.顾客标识);
版权所有 © 2007,Oracle。保留所有权利。
7
内部联接与外部联接
讲述/示范
完全外部联接 所示示例即为完全外部联接。
SELECT e.姓氏, d.部门标识, d.部门名称 FROM 雇员 e FULL OUTER JOIN 部门 d ON (e.部门标识 = d.部门标识);
姓氏 Whalen Fay … De Haan Kochhar King Gietz Higgins Grant
名字 Cole Zoe
姓氏 Bee Twee
订单编号 5678 (null)
订单日期 10-DEC-02 (null)
订单金额 103.02 (null)
sdp_s04_l04_a02
版权所有 © 2007,Oracle。保留所有权利。
9
内部联接与外部联接
讲述/示范
术语 本课中使用的关键术语包括: 完全外部联接 内部联接 左外部联接 外部联接 右外部联接
2
内部联接与外部联接
学习目的
到目前为止,所有的联接返回与联接条件相匹配 的数据。但有时,我们不仅要检索满足联接条件 的数据,还要检索不满足联接条件的数据。这种 情况应该很常见。 ANSI-99 SQL 中的外部联接支持此功能。
sdp_s04_l04_a01
版权所有 © 2007,Oracle。保留所有权利。
版权所有 © 2007,Oracle。保留所有权利。
4
内部联接与外部联接
讲述/示范
左外部联接与右外部联接 在左外部联接的示例中,请注意 列于词组“left outer join”左侧 的表名为“左表”。 此查询将返回所有匹配行以及所 有雇员的姓氏,即使某些雇员未 分配到任何部门。
SELECT e.姓氏, d.部门标识, d.部门名称 FROM 雇员 e LEFT OUTER JOIN 部门 d ON (e.部门标识 = d.部门标识);
版权所有 © 2007,Oracle。保留所有权利。
10
内部联接与外部联接
Baidu Nhomakorabea
小结
在本课中,您应该已经学会:
• • • •
比较内部联接和外部联接 构建并执行一个查询以使用左外部联接 构建并执行一个查询以使用右外部联接 构建并执行一个查询以使用完全外部联接
版权所有 © 2007,Oracle。保留所有权利。
姓氏 King Kochhar … Whalen Hartstein Fay Higgins Gietz
部门标识 90 90 10 20 20 110 110 190
部门名称 Executive Executive Administration Marketing Marketing Accounting Accounting Contracting
部门标识 10 20 90 90 90 110 110 190
部门名称 Administration Marketing Executive Executive Executive Accounting Accounting Contracting
版权所有 © 2007,Oracle。保留所有权利。
版权所有 © 2007,Oracle。保留所有权利。
5
内部联接与外部联接
讲述/示范
左外部联接与右外部联接 此右外部联接将返回所有部门 标识以及部门名称,即使尚未 为某些部门分配雇员。
SELECT e.姓氏, d.部门标识, d.部门名称 FROM 雇员 e RIGHT OUTER JOIN 部门 d ON (e.部门标识 = d.部门标识);
内部联接与外部联接
版权所有 © 2007,Oracle。保留所有权利。
内部联接与外部联接
学习内容
在本课中,您将学习: • • • • 比较内部联接和外部联接 构建并执行一个查询以使用左外部联接 构建并执行一个查询以使用右外部联接 构建并执行一个查询以使用完全外部联接
版权所有 © 2007,Oracle。保留所有权利。
版权所有 © 2007,Oracle。保留所有权利。
6
内部联接与外部联接
讲述/示范
完全外部联接 可在一个联接中创建一个联接条件,以检索两个表中所有的匹配行和 非匹配行。 请回忆使用 (+) 表示缺失数据列的 Oracle 专用外部联接语法。请记住, 在这种形式的外部联接中,不能在 WHERE 子句的两边使用 (+)。 使用完全外部联接可解决这一问题。完全外部联接的结果集包括两个 表中的所有行,即使一个表在另一个表中没有匹配项也是如此。
3
内部联接与外部联接
讲述/示范
内部联接与外部联接 在 ANSI-99 SQL 中,如果两个或更多表的联接只返回 相匹配的行,则称该联接为内部联接。 如果联接返回匹配行和非匹配行,则将其称为外部联接。 外部联接语法使用术语“left、full 和 right”。这些名称 与表名在 SELECT 语句的 FROM 子句中的顺序有关。
姓氏 King Kochhar … Whalen Hartstein Fay Higgins Gietz Grant
部门标识 90 90 10 20 20 110 110
部门名称 Executive Executive Administration Marketing Marketing Accounting Accounting
11
内部联接与外部联接
小结
练习指南 课程大纲中有课程练习指南的链接。
版权所有 © 2007,Oracle。保留所有权利。
12