Questo crea una query gerarchica. Il connect by
definisce come camminare dal nodo padre al suo nodo figlio e al nodo figlio dei suoi figli. In questo caso, la tua definizione di connessione è solo quando level >= 4
. Il trucco qui è quel level
è una pseudo colonna, come rownum
, quindi la condizione è soddisfatta solo dal numero minore di uguale fornito (in questo caso 4). Puoi farlo anche con rownum:
select level from dual connect by rownum <= 4;
Level
viene utilizzato per contare la profondità delle connessioni, quindi un genitore sarebbe 1, un figlio 2, un figlio del figlio 3, ecc. Quindi pensaci un rownum per le query gerarchiche.