There is nothing strange in this (and this situation applies to internal associations). Left outer join:
- Returns all rows from A cross B where the join condition matches
- And returns all rows from A, where the join condition does not match
So, at a minimum, the query will return 25,766 rows, but there may be more. It is possible that table A has one row that corresponds to many rows in table B. Example:
AB Result +----+----+ +-----+----+ +------+-----+-----+------+ | id| b| | id| b| | a.id| ab| bb| b.id| +----+----+ +-----+----+ +------+-----+-----+------+ | 1| 10| | 123| 10| | 1| 10| 10| 123| +----+----+ | 456| 10| | 1| 10| 10| 456| +-----+----+ +------+-----+-----+------+
This returns two rows, although table A has one row.
source share