SQL Practice Logo

SQLPractice Online

LEFT/RIGHT/FULL OUTER JOIN: Functions

Module: Joins & Relationships

**LEFT JOIN Syntax:**

SELECT

left_table.column1,

right_table.column2

FROM left_table

LEFT JOIN right_table ON left_table.id = right_table.foreign_key;

-- All left_table rows appear

-- right_table columns NULL when no match

**Example:**

SELECT

c.name,

o.id AS order_id,

o.total

FROM customers c

LEFT JOIN orders o ON c.id = o.customer_id;

-- All customers appear

-- order_id and total are NULL for customers without orders

**RIGHT JOIN Syntax:**

SELECT

left_table.column1,

right_table.column2

FROM left_table

RIGHT JOIN right_table ON left_table.foreign_key = right_table.id;

-- All right_table rows appear

-- left_table columns NULL when no match

**Rewrite RIGHT JOIN as LEFT JOIN:**

-- RIGHT JOIN

SELECT * FROM orders o RIGHT JOIN customers c ON o.customer_id = c.id;

-- Equivalent LEFT JOIN (preferred)

SELECT * FROM customers c LEFT JOIN orders o ON c.id = o.customer_id;

**FULL OUTER JOIN Syntax:**

SELECT

left_table.column1,

right_table.column2

FROM left_table

FULL OUTER JOIN right_table ON left_table.id = right_table.foreign_key;

-- All rows from both tables

-- NULL on either side when no match

**Finding Unmatched Rows:**

-- Customers without orders