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.