CROSS JOIN: Functions
Module: Joins & Relationships
**Basic CROSS JOIN Syntax:**
SELECT *
FROM table1
CROSS JOIN table2;
-- No ON clause
-- Returns table1_rows × table2_rows
**Real Example:**
SELECT
p.name AS product,
s.name AS size
FROM products p
CROSS JOIN sizes s;
-- Every product paired with every size
**Alternative Comma Syntax:**
-- Explicit CROSS JOIN (preferred)
SELECT * FROM colors CROSS JOIN sizes;
-- Comma syntax (old style)
SELECT * FROM colors, sizes;
-- Both create cartesian product
-- Explicit CROSS JOIN is clearer
**With WHERE Clause:**
SELECT
p.name,
s.name AS size
FROM products p
CROSS JOIN sizes s
WHERE p.category = 'Clothing'
AND s.name IN ('S', 'M', 'L');
-- Generate combinations, then filter
**Multiple CROSS JOINs:**
SELECT
p.name AS product,
s.name AS size,
c.name AS color
FROM products p
CROSS JOIN sizes s
CROSS JOIN colors c;
-- products × sizes × colors
-- Example: 5 × 4 × 3 = 60 combinations
**Selecting Specific Columns:**