关于 SQL Oracle 的一些问题

Some questions about SQL Oracle

关于 SQL Oracle 中的这个问题,我需要帮助:

关于分层检索的问题 1: 我认为响应是 D 和 E :

Select * from Employees
Start With Employee_ID=100
Connect By PRIOR Employee_ID=Manager_ID;

没有添加 Where 子句 !

关于同义词的问题 2 : 我认为答案是D.

关于索引的问题 3 : 我认为答案是D.

提前致谢。 最好的问候。

  1. 您的查询结果将包括员工 100,他们可能不向自己报告 - 问题只是寻找他们下面的人。您可以使用 where 子句来排除该用户。 (显示的数据没有员工 100;但可能只是数据的一个子集。)

  2. 绿色突出显示问题setter同意你的观点,即D是正确的;但是您似乎选择了 B。这也可以,但是 如果 OE 具有 create public synonym 系统特权,但尚未说明。默认情况下,OE 将无法执行此操作。

  3. 对于 D,无法使用该索引评估 list_price > 1000 条件。列表价格上可能有一个索引是可行的,Oracle 会使用 both 索引,但更有可能使用完整的 table 扫描。对于 C,索引可用于检查这两个值 - 您可以将其视为 (UPPER(product_name) = 'LASERPRO' OR UPPER(product_name) = 'Cable')。它当然不能匹配 Cable,因为它是混合大小写而不是全部大写,但这并不妨碍使用索引 try 来找到匹配项。