SQL joins are one of those concepts that click instantly once you see them applied to a real table, and stay confusing forever if you only memorise the syntax.
The Example: Customers and Orders
Imagine a customers table and an orders table. An INNER JOIN returns only customers who have placed at least one order — anyone without an order disappears from the result entirely. A LEFT JOIN keeps every customer regardless of whether they've ordered, filling in NULLs for those who haven't.
RIGHT and FULL OUTER
RIGHT JOIN simply flips the LEFT JOIN logic — every order is kept, even ones somehow missing a matching customer. FULL OUTER JOIN keeps everything from both tables, matched where possible and NULL where not. In practice, most real-world queries lean heavily on INNER and LEFT joins; RIGHT and FULL OUTER exist mainly for edge cases and data-quality checks.
Our MS SQL Server course builds every join type around scenarios like this one, so the logic sticks the first time.