Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql Oracle分层查询执行步骤_Sql_Oracle_Hierarchical Query - Fatal编程技术网

Sql Oracle分层查询执行步骤

Sql Oracle分层查询执行步骤,sql,oracle,hierarchical-query,Sql,Oracle,Hierarchical Query,以下是文档: 以下是它描述的执行顺序: 将计算联接(如果存在) 首先,是否指定联接 在FROM子句中或在WHERE中 子句谓词 连接条件为 评估 任何剩余的WHERE条款 谓词被计算 我的问题是,这是第一部分。从上面可以应用于嵌套查询。例如,如果我有: select * from foo where exists (select 'x' from bar where bar.foo_id = foo.foo_id start with b

以下是文档:

以下是它描述的执行顺序:

  • 将计算联接(如果存在) 首先,是否指定联接 在FROM子句中或在WHERE中 子句谓词
  • 连接条件为 评估
  • 任何剩余的WHERE条款 谓词被计算
  • 我的问题是,这是第一部分。从上面可以应用于嵌套查询。例如,如果我有:

    select * from foo
    where exists (select 'x' from bar
                  where bar.foo_id = foo.foo_id 
                  start with bar.id is null
                  connect by prior bar.id = bar.parent_id)
    

    where子句中的联接是立即执行的,还是因为在此上下文中foo.foo_id实际上是一个单值,所以它是在执行其余单值条件限制的第3部分中执行的?

    您发布的是一个相关子查询

    因为没有连接-将执行步骤2和3:

    2) 已评估连接方式条件。
    3) 计算任何剩余的WHERE子句谓词