Tworzy to zapytanie hierarchiczne. connect by
definiuje sposób przechodzenia od węzła nadrzędnego do węzła podrzędnego i węzła podrzędnego ich dzieci. W tym przypadku twoja definicja połączenia jest tylko wtedy, gdy level >= 4
. Sztuczka polega na tym, że level
jest pseudokolumną, jak rownum
, więc warunek jest spełniony tylko przez podaną liczbę mniejszą niż równa (w tym przypadku 4). Możesz to również zrobić za pomocą rownum:
select level from dual connect by rownum <= 4;
Level
służy do zliczania głębokości połączeń, więc rodzic będzie miał 1, dziecko 2, dziecko dziecka 3, itd. Pomyśl o tym wiersznum dla zapytań hierarchicznych.