sql >> Databasteknik >  >> RDS >> Oracle

välj nivå från dual connect by level<=4 hur det fungerar internt

Detta skapar en hierarkisk fråga. connect by definierar hur man går från föräldernoden till dess barnnod och deras barns barnnod. I det här fallet är din definition av anslutning endast när level >= 4 . Tricket här är den level är en pseudokolumn, som rownum , så villkoret uppfylls endast av det mindre än lika antal som tillhandahålls (i detta fall 4). Du kan också göra detta med rownum:

select level from dual connect by rownum <= 4; 

Level används för att räkna djupet av anslutningarna, så en förälder skulle vara 1, ett barn 2, ett barn till barnet 3, etc. Så tänk på det som ett radnummer för hierarkiska frågor.




  1. MySql, Postgres, Oracle och SQLServer ignorerar IS NOT NULL-filter

  2. Hur man får värde från en tabellbas på Preference

  3. Oracle XML :Hoppa över Finns inte nod

  4. Ta bort kommatecken med php från mysql