Cross Join
A cross join returns the Cartesian product of two tables — every row from the first table paired with every row from the second. There's no ON condition, because nothing filters the combinations.
A cross join between a 10-row table and a 5-row table produces 50 rows — every possible pairing. This makes it easy to accidentally explode a result set if a join is missing its ON clause (an unintentional cross join is a common source of duplicated rows in buggy queries).
Deliberate uses include generating every combination of two small sets, such as product sizes crossed with colors, or building a calendar of dates crossed with categories.
Example
SELECT c.color_name, s.size_name
FROM colors c
CROSS JOIN sizes s;
-- returns (colors × sizes) rows — every combination