sql >> Database >  >> RDS >> Oracle

selecteer niveau van dubbel verbinden op niveau<=4 hoe het intern werkt

Dit bouwt een hiërarchische query op. De connect by definieert hoe u van het bovenliggende knooppunt naar het onderliggende knooppunt en het onderliggende knooppunt van hun kinderen loopt. In dit geval is uw definitie van verbinding alleen wanneer level >= 4 . De truc hier is dat level is een pseudo-kolom, zoals rownum , dus aan de voorwaarde wordt alleen voldaan door het minder-dan-gelijke aantal dat wordt geleverd (in dit geval 4). Je kunt dit ook doen met rownum:

select level from dual connect by rownum <= 4; 

Level wordt gebruikt om de diepte van de verbindingen te tellen, dus een ouder is 1, een kind 2, een kind van het kind 3, enz. Zie het dus als een rijnummer voor hiërarchische zoekopdrachten.




  1. Automatisch verhogen in Oracle zonder een trigger te gebruiken

  2. Bindingen invoeren voor een parameter met meerdere waarden in SQL Developer

  3. SQL blijft query's uitvoeren na schending van dubbele sleutel

  4. R RPostgreSQL Verbinding maken met externe Postgres-database met SSL