Keep all rows from both tables and match where possible.
Section: Join types at a glance
FULL OUTER JOIN
sql
sql
SELECT c.customer_id, c.name, o.order_id
FROM customers c
FULL OUTER JOIN orders o ON o.customer_id = c.customer_id;Explanation
Useful for reconciliation reports and data comparison. Some databases require emulation instead of native support.
Learn the surrounding workflow
Compare similar commands or jump into common fixes when this command is part of a bigger troubleshooting path.
Related commands
Same sheet · prioritizing Join types at a glance
RIGHT JOIN
Keep all rows from the right table and match rows from the left when available.
Join on stable keys
Prefer primary keys and foreign keys over names or free-form text.
Put right-side filters in ON when preserving outer rows
A `WHERE` clause can accidentally turn a left join into an inner join.