Types of Joins in MySQL

JOINS

कभी-कभी हमें एक से अधिक टेबल से डाटा की आवश्‍यकता होती हैं और इसके लिए हम उन्‍हें सिंगल टेबल के रूप में लेते हैं। मल्टिपल टेबल को सिंगल टेबल में जोड़कर हम सिंगल SQL स्‍टेटमेंट से ही डाटा मेनिप्‍यूलेट कर सकते हैं। टेबल्‍स उन कॉलम्‍स पर जुड़े होते हैं, टेबल्‍स में जिनका डाटा टाईप और डाटा विड्थ समान होती हैं।

ज्‍वाइन्‍स को समझने के लिए हम निम्‍न दो टेबल्‍स पर विचार करेंगे।

Course

SUBSubjectFaculty
01VBSuvarna
02DBMSRuchir
03JavaRitu
04C++Sudhir
05OracleDevendra

Registration

STUD IDNameSubject
1001DhinendraJava
1002PiyushC++
1003ParidhiVB
1004MonikaMIS
1005PoojaHTML

1) इनर ज्‍वाइन या इक्‍वी ज्‍वाइन

इनर ज्‍वाइन सबसे सरल ज्‍वाइन हैं इसमें ज्‍वाइनिंग कंडीशन, कॉमन कॉलम्‍स की वैल्‍यूज के बीच समानता पर आधारित होती हैं। इस प्रकार के ज्‍वाइन में कॉमन रिजल्‍ट टेबल में निरूपयोगी तरीके से दिखाई देते हैं।

क्‍वेरी :- Select * from Course, Registration Where Course.Subject = Registration.Subject;

रिजल्‍ट :-


SUBSubjectFacultyStud IDNameSubject
1VBSuvarna1003ParidhiVB
3JavaRitu1001DhinendraJava
4C++Sudhir1002PiyushC++

यहाँ सब्‍जेक्‍ट आऊटपुट में दो बार नजर आता हैं। आऊटपुट यह दर्शाता हैं कि सब्‍जेक्‍ट मैच कर लिए गए हैं और यह कि मेचिंग एक रो देती हैं।

2) नैचुरल ज्‍वाइन या नैचरल इनर ज्‍वाइन

नैचरल ज्‍वाइन इक्‍वी ज्‍वाइन जैसा होता हैं। इसमें अंतर सिर्फ इतना हैं कि डुप्‍लीकेट कॉलम्‍स में से एक हटा दिया जाता हैं। नेचरल ज्‍वाइन उपयोग में लाया जाने वाला सबसे आम ज्‍वाइन ऑपरेशन हैं।

क्‍वेरी :- Select Sub id, Faculty, Course, Subject, Stud id, Name from Course, Registration Where

Course.Subject = Registration.Subject;

रिजल्‍ट :-

SUB IDFacultySubjectStud IDName
1SuvarnaVB1003Paridhi
3RituJava1002Dhinendra
4SudhirC++1001Piyush

3) Outer Join

दो टेबल्‍स को ज्‍वाइन करते समय यह आवश्‍यक नहीं हैं कि एक टेबल रो अन्‍य टेबल में मैच करें। आऊटर ज्‍वाइन के उपयोग से ऐसी इंफॉर्मेशन मिल सकती हैं, जिसमें वे रोज जिनकी कॉमन कॉलम में मेचिंग वैल्‍यू नहीं हो, भी रिजल्‍ट टेबल में शामिल कर ली जाँए। आऊटर ज्‍वाइन दो प्रकार के होते हैं – लेफ्ट आऊटर ज्‍वाइन व राईट आऊटर ज्‍वाइन।


(i) लेफ्ट आऊटर ज्‍वाइन :- लेफ्ट आऊटर ज्‍वाइन में ज्‍वाइन कंडीशन (Course Subject = Registration Course (+)) की बांयी और के टेबल्‍स के सारे रिकॉर्ड प्रदर्शित किए जाते हैं। इसी प्रकार कंडीशन के दायीं और के सारे मेंचिग रिकॉर्ड रिकॉर्ड प्रदर्शित किए जाते हैं। ज्‍वाइन कंडीशन के बायीं और के टेबल के उन रिकॉर्डस के लिए जिनकी दायीं और कोई मेचिंग नहीं हैं, नल प्रदर्शित किया जाता हैं।

क्‍वेरी :- Select * from Course, Registration Where Course.Subject = Registration.Subject (+);

रिजल्‍ट :-

Sub IDSubjectFacultyStud IDNameSubject
1VBSuvarna1003ParidhiVB
2DBMSRuchirNULLNULLNULL
3JavaRitu1001DhinendraJAVA
4C++Sudhir1002PiyushC++
5OracleDevendraNullNULLNULL

रिजल्‍ट टेबल से डुप्‍लीकेट कॉलम हटाने के लिए हम फील्‍ड नेम्‍स को खासतौर पर स्‍पेसिफाय कर सकते हैं (जैसा हमने नैचरल ज्‍वाइन में किया था।) और इसे नैचरल लेफ्ट आऊटर ज्‍वाइन कहा जा सकता हैं।

(ii) राईट आऊटर ज्‍वाइन :- राईट आऊटर ज्‍वाइन में ज्‍वाइन कंडीशन (Course. Subject (+) = Registration – Course) की दायीं और टेबल के सारे रिकॉर्ड प्रदर्शित किये जाते हैं। इसी प्रकार ज्‍वाइन कंडीशन की बायीं और के टेबल के मेचिंग रिकॉर्ड प्रदर्शित किये जाते हैं। ज्‍वाइन कंडीशन की दायीं और के टेबल के उन रिकॉर्ड के लिए जिनका बायीं और मेचिंग नहीं हैं, नल प्रदर्शित किया जाता हैं।

क्‍वेरी :- Select * from Course, Registration Where Course.Subject (+) = Registration.Subject

रिजल्‍ट :-

Sub IDSubjectFacultyStud IDNameSubject
1VBSavarna1003ParidhiVB
2JavaRitu1001DhinendraJAVA
3C++Sudhir1002PiyushC++
NULLNULLNULL1005PoojaHTML
NULLNULLNULL1004MonikaMIS

रिजल्‍ट टेबल से डुप्‍लीकेट कॉलम हटाने के लिए हम फील्‍ड नेम्‍स को विशेषतौर से स्‍पेसिफॉय कर सकते हैं (जैसा हमने नैचरल ज्‍वाइन में किया था) और इसे नैचरल राईट आऊटर ज्‍वाइन कह सकते हैं।


error: Content is protected !!