【问题标题】:1z0-071 oracle exam question which answers is correct?1z0-071 oracle考试题哪个答案是正确的?
【发布时间】:2019-10-20 20:12:28
【问题描述】:

我记得考试中的这个问题(我考试不及格),需要帮助才能选择正确答案。我在 Google 中找不到这个。

关于 Oracle 连接和 ANSI 连接语法的哪三个陈述是正确的?
A. Oracle 连接语法支持自然连接。
B. Oracle 连接语法的性能不如符合 SQL:1999 的 ANSI 连接语法。
C. Oracle 连接语法支持创建两个表的笛卡尔积。
D. 符合 SQL:1999 的 ANSI 连接语法支持自然连接。
E. Oracle 连接语法的性能优于符合 SQL:1999 的 ANSI 连接语法。
F. Oracle 连接语法只支持右外连接。
G. 符合 SQL:1999 的 ANSI 连接语法支持创建两个表的笛卡尔积。

【问题讨论】:

  • 听起来像是您要求我们为您进行测试。请编辑以包含您感到困惑或您发现的信息。我们将帮助您找到正确的答案,但您应该努力自己做,然后提及您尝试过的事情。
  • Oracle 支持并建议使用 ANSI JOIN 语法。这个问题似乎非常非常过时。
  • @GordonLinoff - 目前,我发现自己在一个网站上拥有悠久的代码库和 Oracle 开发标准,该标准要求隐式连接语法。所以,不管你个人如何看待 SQL:99 连接的清晰性和安全性(我同意你的记录),了解整个 Oracle 语法范围仍然很有价值,即使它只是了解何时以及为什么我们不应该使用某些东西。
  • 感谢您的帮助,我的问题已被编辑,并不是我写的全部
  • @APC:它不是很全面,但是:“Oracle 建议您使用 FROM 子句 OUTER JOIN 语法而不是 Oracle 连接运算符。”来自docs.oracle.com/database/121/SQLRF/queries006.htm#SQLRF52355

标签: sql oracle join


【解决方案1】:

考试期望的答案是:

C. Oracle 连接语法支持创建两个表的笛卡尔积。
D. 符合 SQL:1999 的 ANSI 连接语法支持自然连接。
G. 符合 SQL:1999 的 ANSI 连接语法支持创建两个表的笛卡尔积。

C.很有趣,因为 Oracle(AKA SQL:89 兼容 ANSI)连接语法没有明确的交叉连接表示法:我们只是省略了 WHERE 子句中的相关标准。这使得意外创建笛卡尔积变得太容易了,并且是支持使用 SQL:99 的论据之一。

第五个选项突出了此类考试题的问题:

E. Oracle 连接语法的性能优于符合 SQL:1999 的 ANSI 连接语法。

虽然这通常不正确且性能相当,但在某些极端情况下它是正确的,主要与外连接有关。我们的 Oracle 版本越新,这些案例变得越少越前卫。这不是使用旧语法的论据,只是需要牢记。 Find out more.


“Oracle中什么具体的句法结构相当于CROSS JOIN?”

考试题中的“Oracle 语法”是 隐式连接 的 ANSI SQL 89 语法。也就是说,没有定义连接的特定语法;而 WHERE 子句用于声明连接条件和过滤条件。因此,旧语法中的 CROSS JOIN 等价物只是 WHERE 子句中没有连接条件。

【讨论】:

  • 感谢您的帮助。我没有在谷歌信息中找到,我正在学习 oracle 但这个问题很困惑,我不知道答案是什么,也没有在指南 1z0-071 中找到。
  • 为什么“Oracle 连接语法不支持自然连接”。真的?在 Oracle 语法中,我可以在公共列上编写多个 where 条件来重现与自然连接相同的结果。这就像编写从 JOIN 表 ON 再现内部联接的条件。
  • @Blaisem - 能够重现与自然连接相同的结果集与说存在 特定 语法结构不同。
  • 这里的回复表明 Oracle 语法支持笛卡尔积。我认为这也是基于简单地从多个表中选择的解决方法。 Oracle 中什么特定的语法结构相当于 CROSS JOIN?
  • @Blaisem - 我实际上在回答中提到了这一点,但我已经对其进行了扩展以使其更清晰。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-11-13
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-28
相关资源
最近更新 更多