ドキュメントは次のとおりです:http://download-east.oracle.com/docs/cd/B12037_01/server.101/b10759/queries003.htm
説明する実行順序は次のとおりです。
- 結合が存在する場合は、結合がFROM句で指定されているか、WHERE句の述語で指定されているかに関係なく、最初に評価されます。
- CONNECTBY条件が評価されます。
- 残りのWHERE句の述語が評価されます。
私の質問は、パート1は、ネストされたクエリに適用されますか。たとえば、私が持っている場合:
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で実行されますか?