Złączenie kartezjańskie łączy każdy rekord w pierwszej tabeli z każdym rekordem w drugiej tabeli, więc skoro twoja tabela ma 7 wierszy i jest złączona ze sobą, powinna zwrócić 49 rekordów, gdybyś nie miał where klauzula. Twoja klauzula where zezwala tylko na rekordy, w których a saldo jest mniejsze niż b równowaga. Od 900 jest, jak powiedziałeś, maksymalnym saldem w tabeli, nigdy nie będzie ono mniejsze niż jakiekolwiek inne saldo i dlatego nigdy nie zostanie zwrócone.
W odniesieniu do pierwszych pięciu wierszy, normalne zasady SQL dotyczą również złączeń. Ponieważ tabele SQL nie mają wewnętrznej kolejności, decyzja o sposobie ich zwrócenia zależy wyłącznie od bazy danych, chyba że jawnie określisz kolejność w order by klauzula. Wymienione wartości są całkowicie prawidłowymi wartościami, których można oczekiwać od zapytania.