0
共関連クエリはどのように機能しますか?内側のクエリは外側のクエリの行に従って反復処理されますか? 1つのID列が1、2、3の学生テーブルがあるとします。どのようなボディでも絵を描くことができますか?Oracleの関連するクエリですか?
共関連クエリはどのように機能しますか?内側のクエリは外側のクエリの行に従って反復処理されますか? 1つのID列が1、2、3の学生テーブルがあるとします。どのようなボディでも絵を描くことができますか?Oracleの関連するクエリですか?
相関サブクエリは、主テーブルの各行に対して1回実行されます(理論的には可能な最適化は考慮されていません)。 s.ID = 1サブクエリを返さない行について
(s1.ID < 1つの戻り何も)s.ID = 2、それは1を返し、
(述語< 2 s1.id)ためs.IDため
= 3が返し1,2-
したがって、最初の行(s.ID = 1)、(サブクエリが何行を返さない)選択された第二行の
されていない(S .ID = 2)述語はs.id < any (1)
であり、これはに書き換えられます参照のANY ための規則および2 < 1は、第三行の
FALSEであるように行が選択されていない(s.ID = 3)述語もFLASEあるs.id < 1 OR s.id < 2
に書き換えられるs.id < any (1,2)
あります。
だから、クエリ
create table student as
select rownum id from dual connect by level <= 3;
select *
from student s where s.id < any (select s1.id from student s1 where s1.id < s.id);
リターン空の結果(ノー行)。