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 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
- Common key dhoondo: orders.customer_id customers.id se match karta hai.
- INNER JOIN sirf matches rakhta hai: woh customers jinke orders hain.
- LEFT JOIN left table ki har row rakhta hai; match na ho to NULL. Bina order wale customers ke order columns NULL dikhte hain.
- Jo missing hai dhoondo: LEFT JOIN ... WHERE orders.id IS NULL un customers ki list deta hai jinhone kabhi order nahi kiya.
- 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
-- 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?
- Products se sales tak LEFT JOIN
- Products ka sales ke saath INNER JOIN
- 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:
Course mein seekho