I den første forespørgsel forbinder du kun med niveauet. Så hvis niveau <=1, får du hver af posterne 1 gang. Hvis niveau <=2, så får du hvert niveau 1 gang (for niveau 1) + N gange (hvor N er antallet af poster i tabellen). Det er, som om du krydser foreningen, fordi du bare vælger alle poster fra bordet, indtil niveauet er nået, uden at have andre betingelser for at begrænse resultatet. For niveau <=3, gøres dette igen for hvert af disse resultater.
Så for 3 poster:
- Lvl 1:3 record (alle har niveau 1)
- Lvl 2:3 poster med niveau 1 + 3*3 poster med niveau 2 =12
- Lvl 3:3 + 3*3 + 3*3*3 =39 (faktisk 13 poster hver).
- Lvl 4:begynder at se et mønster? :)
Det er ikke rigtig en krydsforbindelse. En cross join ville kun returnere de poster, der har niveau 2 i dette forespørgselsresultat, mens du med denne connect by får posterne med niveau 1 såvel som posterne med niveau 2, hvilket resulterer i 3 + 3*3 i stedet for blot 3*3 rekord.