首页 > 解决方案 > 1z0-071 oracle考试题哪个答案是正确的?

问题描述

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

关于 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 连接语法支持创建两个表的笛卡尔积。

标签: sqloraclejoin

解决方案


考试期望的答案是:

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 版本越新,这些案例变得越少越前卫。这不是使用旧语法的论据,只是需要牢记。了解更多


“Oracle 中什么特定的语法结构相当于 CROSS JOIN?”

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


推荐阅读