Patent ID: 7730055

Claim:
A computer-implemented method used during computation of a full outer join based on a join condition, the method utilizing a computer processor to execute a plurality of steps, comprising: partitioning rows from a left table into left table partitions, wherein said partitioning is based on values in a left table join column of said join condition; selecting a first subset of said left table partitions; generating a hash table that indexes said first subset of left table partitions by the respective join column of said join condition; for each right table row of right table rows from a right table, (a) probing said hash table to find any particular left table row to inner join with said each right table row based on said join condition, (b) for any particular left table row found to inner join with said each right table row, generating an inner join row and marking said particular left table row in said first subset of left table partitions as inner joined, (c) determining whether said each right table row was inner joined with any left table row in said first subset of left table partitions, and (d) when said each right table row was not inner joined with any particular left table row in said first left table partition, generating a right outer join row for said each right table row; and for each left table row in said first subset of left table partitions that is not marked as inner joined, generating a left outer join row.