30までにある素数を判定するプログラムです

for i in range(2,30):
    for s in range(2,i):
        if i%s == 0:
            break

    else:
        print(i)

どうしてif と elseのインデント数が違ってもいいのかが分かりません。
elseがifと同じインデントだったら結果が間違うのは分かります。