Skip to main content

SQL OUTER JOINS (Left, Right, Full) 🌓

Mentor's Note: INNER JOIN is strict; if you don't have a partner, you aren't invited. OUTER JOIN is inclusive; it says "Come anyway, even if you are alone." It's essential for finding missing data, like "Which customers have never placed an order?" 💡


🌟 The Scenario: The Class Attendance 🎒

  • Table A (Students): The official class roll.
  • Table B (Attendance): The list of students who signed in today.
  • INNER JOIN: Only students present today.
  • LEFT JOIN: All students (Marking "Absent" for those not in Table B). ✅

💻 1. LEFT JOIN (The "All From Here" Join) 👈

Returns all rows from the Left table, and the matched rows from the Right table. If no match, the result is NULL.

-- Scenario: List ALL customers, and their orders (if any)
SELECT C.name, O.order_date
FROM customers C
LEFT JOIN orders O ON C.id = O.customer_id;

Result:

  • Arjun (Ordered Yesterday)
  • Priya (NULL - Never Ordered)

💻 2. RIGHT JOIN (The "All From There" Join) 👉

Returns all rows from the Right table. (Rarely used; usually we just swap the tables and use LEFT JOIN).

-- Scenario: List ALL orders, even if the customer was deleted
SELECT C.name, O.order_date
FROM customers C
RIGHT JOIN orders O ON C.id = O.customer_id;

💻 3. FULL OUTER JOIN (The "Everyone" Join) 🌕

Returns records when there is a match in either left or right table.

-- Scenario: Match Employees to Projects
-- Show Emp without Project AND Projects without Emp
SELECT E.name, P.project_title
FROM employees E
FULL OUTER JOIN projects P ON E.project_id = P.id;

🎨 Visual Logic: The Missing Pieces

The highlighted areas show which data is kept. Matched data is joined, while unmatched data is filled with NULL.


💡 Pro Tip: Finding "The Unmatched"

The most common use of a LEFT JOIN is to find missing links.

-- "Who hasn't ordered?"
SELECT name
FROM customers C
LEFT JOIN orders O ON C.id = O.customer_id
WHERE O.id IS NULL; -- 🔍 The magic filter

📈 Learning Path

📍 Visit Us

🏫 VD Computer Tuition Surat

VD Computer Tuition
📍 Address
2/66 Faram Street, Rustompura
Surat395002, Gujarat, India
📞 Phone / WhatsApp
+91 84604 41384
🌐 Website

Computer Classes & Tuition — Areas We Serve in Surat

AdajanAlthanAmroliAthwaAthwalinesBhagalBhatarBhestanCanal RoadChowkCitylightDumasGaurav PathGhod Dod RoadHaziraJahangirpuraKamrejKapodraKatargamLimbayatMagdallaMajura GateMota VarachhaNanpuraNew CitylightOlpadPalPandesaraParle PointPiplodPunaRanderRing RoadRustampuraSachinSalabatpuraSarthanaSosyo CircleUdhnaVarachhaVed RoadVesuVIP Road
📞 Call Sir💬 WhatsApp Sir