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

vælg niveau fra dual connect by level<=4 hvordan det fungerer internt

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.




  1. Hvad er syntaksen for at definere en Oracle-procedure i en anden lagret procedure?

  2. Kører kun PostgreSQL i hukommelsen

  3. Milvus:Træn og søg på separate maskiner

  4. Oracle Database Enforce CHECK på flere tabeller