W pierwszym zapytaniu łączysz się tylko według poziomu. Więc jeśli poziom <=1, otrzymasz każdy z rekordów 1 raz. Jeśli poziom <=2, otrzymujesz każdy poziom 1 raz (dla poziomu 1) + N razy (gdzie N jest liczbą rekordów w tabeli). To tak, jakbyś łączyła się krzyżowo, ponieważ po prostu wybierasz wszystkie rekordy z tabeli, aż do osiągnięcia poziomu, bez innych warunków ograniczających wynik. Dla poziomu <=3 jest to powtarzane dla każdego z tych wyników.
A więc dla 3 rekordów:
- Rekord lvl 1:3 (wszystkie na poziomie 1)
- Lvl 2:3 rekordy na poziomie 1 + 3*3 rekordy na poziomie 2 =12
- Poziom 3:3 + 3*3 + 3*3*3 =39 (rzeczywiście, po 13 rekordów).
- Poziom 4:zaczynasz widzieć wzór? :)
To naprawdę nie jest sprzężenie krzyżowe. Sprzężenie krzyżowe zwróciłoby tylko te rekordy, które w tym wyniku zapytania mają poziom 2, podczas gdy w przypadku tego połączenia przez otrzymujesz rekordy o poziomie 1, a także rekordy o poziomie 2, co daje w wyniku 3 + 3*3 zamiast samego Rekord 3*3.