MYSQL LEFT JOIN and RIGHT JOIN आज हम इस आर्टिकल के माध्यम से समझगे लेफ्ट जॉइन और राइट जॉइन के बारे में जैसे कि मान लीजिए अपने पास में 2 टेबल है टेबल वन और टेबल टू तो हम जो table1 है उसे लेफ्ट टेबल मान लेते हैं और जो हमारी table2 है उसे हम राइट टेबल मान लेते हैं लेकिन मैं इसे सिलेक्ट कमांड के साथ में यूज कर के डाटा को निकालना चाहता हूं।
जिसके अंदर कॉमन डाटा तो हो ही हो पर मुझे table1 का जितना भी डाटा है वह भी मुझे साथ में चाहिए इसके लिए हम यूज करते हैं लेफ्ट जॉइन का तो लेफ्ट जॉइन करता है क्या है दोनों टेबल के अंदर जो डाटा मैच हो रहा है उसे तो लाता ही है साथ में दूसरी टेबल का जितना भी डाटा है उसे भी साथ में लेकर आता है।
एक बात आपको यहां पर ध्यान में रखना है इन दोनों टेबल के अंदर कोई भी डाटा मैच नहीं कर रहा है तो टेबल टू से कोई भी डाटा टेबल वन के अंदर नहीं आएगा इसके लिए मैं आपको एक उदाहरण भी समझाता हूं। जैसे कि मान लीजिए हमने पिछले आर्टिकल में एक गुड़गांव नाम से टेबल बनाया था और एक सिटी के नाम से टेबल बनाया था और सिटी नाम की जो टेबल है उसके अंदर दो कॉलम है सिटी के नाम है और एक आईडी नंबर है
जो गुड़गांव की टेबल है उसके अंदर एम्पलाई का डाटा आता है उसके अंदर हमने चार-पांच कॉलम बनाए हैं और जो सिटी टेबल है उसके अंदर जो सीआईडी कॉलम है उसे हमने प्राइमरी की बनाया था और इस गुड़गांव नाम की जो टेबल है उसके अंदर city नाम का कॉलम है।
उस कॉलम को हमने फॉरेन की बनाया था तो यह क्या करता था जो डाटा आपस में मैच हो रहा था वह डाटा तो हमें सो कर दिया था लेकिन कुछ डाटा ऐसा भी था जो मैच नहीं हो रहा था तो इसने वह डाटा पीछे छोड़ दिया
लेकिन हम चाहते हैं कि जो पीछे वाला डाटा है उसे भी देखें यानी हमें दिखाई दे तो इसके लिए हम यूज करते हैं लेफ्ट जॉइन का तो हमें इन दोनों टेबल को मैच करने के लिए हमने सिटी नाम के कॉलम से सीआईडी नाम के कॉलम से मैच किया है। तो लेफ्ट जॉइन का लिखने का तरीका कुछ इस प्रकार है
SELECT CLUMNS FROM TABLE1 LEFT JOIN TABLE2 ON TABLE1 . COL_NAME = TABLE2 . COL_NAME;
सबसे पहले SELECT लिखना है उसके बाद में कॉलम का नाम लिखना है और अगर आप सारी table के कॉलम का डाटा देखना चाहते हैं तो आप स्टार यूज कर सकते हैं और बाद में फ्रॉम लिखे table1 लिखे लेफ्ट जॉइन लिखे उसके बाद में table2 का नाम लिखें उसके बाद में ON लिखें और उसके बाद में टेबल 1 उनका नाम लिखें
उसके बाद उस कॉलम का नाम लिखें जिस कॉलम को आपने फ़ोरन की बनाया है और उसके बाद में table2 का नाम लिखना है और उसके बाद में उस कॉलम का नाम लिखना है जिसको आपने प्राइमरी की के साथ में सेट किया है और जो table1 है उसे लिफ्टेबल माना जाता है और जो table2 है इसे रायटेबल माना जाता है
select g.id, g.name ,g.per, g.age, g.GENDER, c.CITYNAME
from gurgaon g left join city c on g.city = c.CID;
is tarike se dono table ek sath me dekh sakte hai jo table ke data khali hia use bhi dekh sakte hai or jisme data fill hai vo bhi dekh sakte hai. lekin inner join me esa nhi kar pate the usme sirf vo hi data nikal sakte hai jo data match ho rha to ab aap samjh gye honge ki inner join or left join me kya antar hai.
or iske sath me where clause bhi laga sakte hai yani ki koi condition laga sakte hai. kuchh is tarike se or order by bhi use kar sakte hai kuchh is tarike se
select g.id, g.name ,g.per, g.age, g.GENDER, c.CITYNAME
from gurgaon g left join city c on g.city = c.CID
where GENDER = “M” order by name;
kuchh is tarike se table me sirf male ka hi data dikha rha hai or odrder by order ab ham use karte hai right join ka
select g.id, g.name ,g.per, g.age, g.GENDER, c.CITYNAME
from gurgaon g right join city c on g.city = c.CID
;
bas aapko left ki jagah right join likhna hai ab aapko vo table ka data sho hoga jiske andr right ke andr col row khali hai . uska data dikhai dega. blki left join se ham jo left side vali table me jo row khali hai uska hi data dikhaye.
to ab aap samjh gye honge ki right join or left join me kya antar hai. or ek baat aapko or batana chahta hun ki ki jaise hamne left join ke sath me condition lagai hai vo isme bhi laga sakte hai. MYSQL LEFT JOIN and RIGHT JOIN