sql - 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 连接语法支持创建两个表的笛卡尔积。
解决方案
考试期望的答案是:
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 子句中没有连接条件。
推荐阅读
- python - 当文本中也有括号时,如何查找第一对括号之间的所有文本?
- python - Python OS 操作可以向量化(例如:os.rename)吗?
- c# - 将两个不同的对象列表合并为一个
- graphql - 是什么导致 GraphQL/Gatsby 中的 ["String" has no subfields] 图像错误?
- jquery - 如何更改 jQuery mobile 标题中的元素?
- django - 确定 Django 模型实例更新了多少次
- codecov - 更新 yaml 文件时,GitHub 中的 Codecov 提交状态未更新
- python - 如何替换模板文件中的部分变量名
- javascript - JavaScript 中是否有一个 find 函数,它返回你的函数返回的内容,而不是当值是真值时的整个项目
- visual-c++ - 我不确定为什么不兼容的初始化程序与参数类型 int 不兼容