Una unión cartesiana une todos los registros de la primera tabla con todos los registros de la segunda tabla, por lo que dado que su tabla tiene 7 filas y está unida consigo misma, debería devolver 49 registros si no hubiera tenido un where
cláusula. Su cláusula where solo permite registros donde a
El saldo de es menor que b
el saldo. Desde 900
es, como dijiste, el saldo máximo de la tabla, nunca será menor que cualquier otro saldo y, por lo tanto, nunca se devolverá.
Con respecto a las primeras cinco filas, las reglas normales de SQL también se aplican a las uniones. Dado que las tablas SQL no tienen un orden intrínseco, depende completamente de la base de datos decidir cómo devolverlas, a menos que indique explícitamente un orden en el order by
cláusula. Los valores que enumeró son valores perfectamente válidos que esperaría que devolviera la consulta.