Full Join returns all records when there is a match in one of the tables. Fills with NULLs where there is no match.
SELECT Customers.name, Orders.order_amount
FROM Customers
FULL OUTER JOIN Orders
ON Customers.customer_id = Orders.customer_id;
Result:
name | order_amount |
---|---|
Alice | 250 |
Alice | 125 |
Bob | 300 |
Charlie | NULL |
NULL | 400 |
Includes everything from both sides, even unmatched records.