Dette opbygger en hierarkisk forespørgsel. connect by
definerer, hvordan man går fra den overordnede node til dens børns node og deres børns børn node. I dette tilfælde er din definition af forbindelse kun, når level >= 4
. Tricket her er det level
er pseudokolonne, som rownum
, så betingelsen er kun opfyldt af det angivne mindre end lige antal (i dette tilfælde 4). Du kan også gøre dette med rownum:
select level from dual connect by rownum <= 4;
Level
bruges til at tælle dybden af forbindelserne, så en forælder ville være 1, et barn 2, et barn til barnet 3 osv. Så tænk på det som et række for hierarkiske forespørgsler.