En kartesisk join sammanfogar varje post i den första tabellen med varje post i den andra tabellen, så eftersom din tabell har 7 rader och den är sammanfogad med sig själv, borde den returnera 49 poster om du inte hade en where
klausul. Din where-sats tillåter endast poster där a
s saldo är mindre än b
s balans. Sedan 900
är, som du sa, det maximala saldot i tabellen, kommer det aldrig att vara mindre än något annat saldo, och därför kommer det aldrig att returneras.
När det gäller de första fem raderna gäller de normala SQL-reglerna även för joins. Eftersom SQL-tabeller inte har någon egen ordning, är det helt upp till databasen att bestämma hur de ska returneras, såvida du inte uttryckligen anger en ordning i order by
klausul. Värdena du angav är helt giltiga värden som du förväntar dig att frågan ska returnera.