SQL (Structured Query Language) में “Join” एक ऐसा clause होता है जिसका उपयोग दो या दो से अधिक टेबल्स को आपस में जोड़ने के लिए किया जाता है। यह उन रिकॉर्ड्स को फेच करता है जो एक या एक से अधिक टेबल्स के बीच कॉमन होते हैं।
SQL Join क्यों उपयोग करते हैं?
डेटाबेस में जानकारी अक्सर विभिन्न टेबल्स में विभाजित होती है। जब हमें इन टेबल्स से एक साथ डेटा प्राप्त करना होता है, तो हम JOIN का इस्तेमाल करते हैं।
JOIN एक concept है जिसका उपयोग दो या उससे अधिक टेबलों को आपस में जोड़ने (connect करने) के लिए किया जाता है, ताकि हम एक साथ कई टेबल्स का डेटा निकाल सकें।
🔹 JOIN का मतलब आसान भाषा में:
जब आपके पास एक से ज़्यादा टेबल हो और आप उनमें से कुछ डेटा को एक साथ दिखाना चाहते हैं, तो JOIN की मदद से ये किया जाता है। इसमें टेबल्स को किसी सामान्य कॉलम (common column) के आधार पर जोड़ा जाता है।
🧠 JOIN के प्रकार (Types of JOIN):
- INNER JOIN – केवल वही रिकॉर्ड दिखाता है जो दोनों टेबल्स में मिलते हैं।
- LEFT JOIN – बायीं टेबल के सभी रिकॉर्ड और दायीं से मैच होते हैं तो वो।
- RIGHT JOIN – दायीं टेबल के सभी रिकॉर्ड और बायीं से जो मिलते हैं।
- FULL JOIN – दोनों टेबल्स के सभी रिकॉर्ड, चाहे मैच हो या न हो।
🔰 1. INNER JOIN (सबसे ज्यादा इस्तेमाल होने वाला)
👉 Definition:
INNER JOIN दो टेबल्स के केवल matching rows को जोड़ता है। अगर दोनों टेबल में कोई समान डेटा नहीं है, तो वह रिज़ल्ट में नहीं आता।
मतलब:
INNER JOIN सिर्फ उन्हीं rows को दिखाता है जिनमें दोनों टेबल में match होता है।
🎯 Example:
🧾 Students Table:
student_id | name |
---|---|
1 | Rahul |
2 | Priya |
3 | Amit |
🧾 Marks Table:
student_id | marks |
---|---|
1 | 85 |
2 | 92 |
SELECT Students.name, Marks.marks
FROM Students
INNER JOIN Marks ON Students.student_id = Marks.student_id;
✅ Output:
name | marks |
---|---|
Rahul | 85 |
Priya | 92 |
👉 Amit का Marks Table में डेटा नहीं था, इसलिए वो रिज़ल्ट में नहीं आया।
🔰 2. LEFT JOIN (LEFT OUTER JOIN)
👉 Definition:
LEFT JOIN बाएं (left) टेबल की सभी rows को दिखाता है, और दाएं (right) टेबल से matching rows को जोड़ता है। अगर मैच नहीं मिला, तो NULL दिखता है।
मतलब:
LEFT JOIN में बाईं (left) टेबल के सभी डेटा आते हैं और दाईं (right) टेबल से सिर्फ matching डेटा आता है। अगर match न हो तो NULL आता है।
🎯 Example:
SELECT Students.name, Marks.marks
FROM Students
LEFT JOIN Marks ON Students.student_id = Marks.student_id;
✅ Output:
name | marks |
---|---|
Rahul | 85 |
Priya | 92 |
Amit | NULL |
👉 Amit का डेटा Marks टेबल में नहीं है, फिर भी LEFT JOIN की वजह से नाम आया और marks में NULL दिखा।
🔰 3. RIGHT JOIN (RIGHT OUTER JOIN)
👉 Definition:
RIGHT JOIN दाएं (right) टेबल की सभी rows को दिखाता है, और बाएं (left) टेबल से matching rows को जोड़ता है।
मतलब:
RIGHT JOIN में दाईं (right) टेबल के सभी डेटा आते हैं और बाईं (left) टेबल से सिर्फ matching डेटा आता है।
🎯 Example:
New Marks Table:
student_id | marks |
---|---|
1 | 85 |
2 | 92 |
4 | 75 |
SELECT Students.name, Marks.marks
FROM Students
RIGHT JOIN Marks ON Students.student_id = Marks.student_id;
✅ Output:
name | marks |
---|---|
Rahul | 85 |
Priya | 92 |
NULL | 75 |
👉 student_id = 4 का Students टेबल में नाम नहीं था, लेकिन RIGHT JOIN से उसकी एंट्री आई और नाम में NULL दिखा।
🔰 4. FULL OUTER JOIN (सभी डेटा)
👉 Definition:
FULL JOIN दोनों टेबल्स की सभी rows को दिखाता है – चाहे मैच हो या ना हो।
⚠️ Note: कुछ डेटाबेस (जैसे MySQL) में FULL JOIN सीधे सपोर्ट नहीं होता, वहां UNION का उपयोग करना पड़ता है।
मतलब:
FULL JOIN दोनों टेबल्स के सभी रिकॉर्ड को दिखाता है – चाहे match हो या न हो।
⚠️ Note: MySQL में FULL JOIN directly सपोर्ट नहीं करता, लेकिन UNION से किया जा सकता है।
SELECT Students.name, Marks.marks
FROM Students
FULL OUTER JOIN Marks ON Students.student_id = Marks.student_id;
✅ Output:
name | marks |
---|---|
Rahul | 85 |
Priya | 92 |
Amit | NULL |
NULL | 75 |
Bonus: CROSS JOIN क्या होता है?
CROSS JOIN दो टेबल्स के हर रिकॉर्ड का कॉम्बिनेशन बनाता है। यह Cartesian Product होता है।
उदाहरण:
अगर table1 में 3 रिकॉर्ड हैं और table2 में 4, तो CROSS JOIN के बाद 12 रिकॉर्ड बनेंगे।
निष्कर्ष
SQL Joins का इस्तेमाल डेटा को बेहतर और रिलेशनल तरीके से देखने में मदद करता है। अगर आप डाटाबेस मैनेजमेंट या SQL में करियर बनाना चाहते हैं, तो Joins को अच्छे से समझना जरूरी है।
आशा है आपको यह आर्टिकल पसंद आया होगा। SQL Joins से जुड़ी कोई भी समस्या हो तो नीचे कमेंट करें!
🔎 Interview में कैसे जवाब दें?
✅ “JOIN SQL में एक क्लॉज है जो दो या अधिक टेबल्स को एक common column की मदद से जोड़ता है। इससे हम अलग-अलग टेबल्स से जुड़ी हुई जानकारी एक साथ ला सकते हैं।”