SQL Practice Logo

SQLPractice Online

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:**