Tím se vytvoří hierarchický dotaz. connect by
definuje, jak přejít z nadřazeného uzlu do jeho podřízeného uzlu a podřízeného uzlu jejich potomků. V tomto případě je vaše definice připojení pouze tehdy, když level >= 4
. Trik je v tom, že level
je pseudo sloupec, jako rownum
, takže podmínka je splněna pouze zadaným menším než stejným číslem (v tomto případě 4). Můžete to také provést pomocí rownum:
select level from dual connect by rownum <= 4;
Level
se používá k počítání hloubky spojení, takže rodič by byl 1, potomek 2, potomek potomka 3 atd. Představte si to tedy rownum pro hierarchické dotazy.