JOIN
- match all rows from the first table only if there is a match on the second table
LEFT JOIN
- match all rows from the first table regardless of whether there is a match on the second table
RIGHT JOIN
: opposite of LEFT JOIN
OUTER JOIN
- match all rows from both tables regardless of whether there is a match on the other table
CROSS JOIN
- all possible pairs from the two tables
- e.g. finding all possible edges in a graph:
CROSS JOIN
the edge list with itself