आपको left join
. का उपयोग करना चाहिए right join
. के बजाय
विभिन्न जुड़ते हैं
inner join
:केवल वे पंक्तियाँ रखें जहाँ दोनों तालिका में डेटा है
left join
:बाईं तालिका की सभी पंक्तियों को रखें और दाईं ओर से जो संभव है उसे जोड़ें
right join
:दाईं तालिका की सभी पंक्तियों को रखें और बाईं ओर से जो संभव है उसे जोड़ें
बाईं तालिका हमेशा वह तालिका होती है जो हमारे पास पहले से होती है और दाईं तालिका वह होती है जिससे हम जुड़ रहे होते हैं।
रिकॉर्ड के लिए, एक cross join
भी है जो बाएँ तालिका में प्रत्येक पंक्ति को दाएँ तालिका में प्रत्येक पंक्ति के साथ जोड़ता है, लेकिन यह बहुत बार उपयोग नहीं किया जाता है।
मुझे आशा है कि यह सब अब आपके लिए स्पष्ट हो गया है :)
क्वेरी ठीक की गई
select bird_name, member_id
from birds
left join bird_likes on birds.bird_id = bird_likes.bird_id
where member_id = 2;
ध्यान रखें कि यह मानता है कि कॉलम member_id
बर्ड टेबल में है, नहीं तो आप इस तरह की स्थिति रख सकते हैं:
select bird_name, member_id
from birds
left join bird_likes on
birds.bird_id = bird_likes.bird_id and
bird_likes.member_id = 2;