Oracle
 sql >> Database >  >> RDS >> Oracle

seleziona il livello da doppia connessione per livello<=4 come funziona internamente

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.