Lesson · Hinglish · ⏱ 7 min padhne mein

🧩 SQL JOINs: tables ko jodna

EnglishHinglish

🏠 Asli zindagi ki misaal

School mein ek register mein students ke naam aur roll number hote the, aur doosre mein roll number ke hisaab se marks. 'Naam + marks' print karne ke liye aap dono registers ko roll number se match karte ho. JOIN database tables ke liye yahi matching karta hai.

💡 Aasaan shabdon mein

Repetition se bachne ke liye databases data ko alag tables mein baant dete hain, jaise customers aur orders, jo customer_id jaisi key se jude hote hain. JOIN unhe wapas jodta hai. INNER JOIN sirf woh rows rakhta hai jo dono tables mein match karti hain. LEFT JOIN left table ki har row rakhta hai, aur jahan match na ho wahan khaali chhod deta hai, jo 'kin customers ne kabhi order nahi kiya' jaise sawaalon ke liye perfect hai. Galat key pe join karna, ya duplicate matches aana, galat numbers ki sabse common wajah hai.

🎬 Dekho kaise kaam karta hai

INNER JOIN · only matching rowsLEFT JOIN · every customer + matchescustomersordersmatch

INNER JOIN sirf un customers ko rakhta hai jinke orders hain (overlap). LEFT JOIN har customer ko rakhta hai, orders hon ya na hon.

🪜 Step by step

  1. Common key dhoondo: orders.customer_id customers.id se match karta hai.
  2. INNER JOIN sirf matches rakhta hai: woh customers jinke orders hain.
  3. LEFT JOIN left table ki har row rakhta hai; match na ho to NULL. Bina order wale customers ke order columns NULL dikhte hain.
  4. Jo missing hai dhoondo: LEFT JOIN ... WHERE orders.id IS NULL un customers ki list deta hai jinhone kabhi order nahi kiya.
  5. Join se pehle aur baad row count check karo. Agar achanak badh jaaye, to key unique nahi hai aur rows duplicate ho rahi hain.

🔑 Zaroori shabd

Primary / foreign key
Row ko unique pehchaanne wali ID, aur doosri table ka column jo us ID ko point karta hai.
INNER JOIN
Sirf woh rows jo dono tables mein match karein.
LEFT JOIN
Left table ki saari rows, aur right se match ho to woh bhi.

👀 Example dekho

sql
-- Customers who have never placed an order
SELECT c.name
FROM customers c
LEFT JOIN orders o ON o.customer_id = c.id
WHERE o.id IS NULL;

LEFT JOIN aur 'IS NULL' milkar woh rows dhoondhte hain jinka match nahi hai.

⚠️ Aam galtiyaan jinse bachna hai

  • Non unique key pe join karke revenue double count karna. Pehle aggregate karo, ya sach mein unique key pe join karo.
  • LEFT JOIN ke baad right table ka filter WHERE mein lagana, jo chupke se use INNER JOIN bana deta hai. Woh condition ON clause mein daalo.

✅ Jaldi se check karo

Aapko har product chahiye, woh bhi jo kabhi nahi bike. Kaunsa join?

  1. Products se sales tak LEFT JOIN
  2. Products ka sales ke saath INNER JOIN
  3. Join ki zaroorat nahi
Jawaab dekho

A. Products se sales tak LEFT JOIN: LEFT JOIN saare products rakhta hai, chahe sales ki koi row match na kare. INNER JOIN unhe hata deta.

🙋 Seekhne wale yeh poochhte hain

RIGHT ya FULL OUTER JOIN kab use karun?

RIGHT JOIN bas tables ulat kar LEFT JOIN hai, isliye zyaadatar log LEFT use karte hain. FULL OUTER dono taraf ki unmatched rows rakhta hai, do systems ko reconcile karne mein kaam aata hai.

Kya joins slow hote hain?

Join keys pe indexes aur sahi filters ho to nahi. Warehouses mein bahut badi tables join karna mehenga ho sakta hai, isliye pehle filter karo.

📌 Yaad rakho

INNER = sirf matches. LEFT = left ki saari rows rakho.

Poora course, aapke roadmap ke hisaab se

Progress tracking, quick checks aur step-by-step order ke saath. Yeh lesson in courses ka hissa hai:

AI Foundations Path · Data Engineer (AI focus)

Course mein seekho