Kartézské spojení spojuje každý záznam v první tabulce s každým záznamem ve druhé tabulce, takže protože vaše tabulka má 7 řádků a je spojena sama se sebou, měla by vrátit 49 záznamů, pokud jste neměli where
doložka. Vaše klauzule where povoluje pouze záznamy, kde je a
's zůstatek je menší než b
rovnováha. Od 900
je, jak jste řekl, maximální zůstatek v tabulce, nikdy nebude menší než jakýkoli jiný zůstatek, a proto nebude nikdy vrácen.
S ohledem na prvních pět řádků platí normální pravidla SQL i pro spojení. Protože tabulky SQL nemají žádné vnitřní pořadí, je zcela na databázi, aby se rozhodla, jak je vrátí, pokud výslovně neuvedete pořadí v order by
doložka. Hodnoty, které jste uvedli, jsou dokonale platné hodnoty, které byste očekávali, že dotaz vrátí.