Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक तालिका में सभी वस्तुओं का चयन करना और दूसरी तालिका के साथ जुड़ना, नल की अनुमति देना

आपको 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL लेनदेन में विलंबता को संभालना

  2. पायथन MySQLDB क्वेरी टाइमआउट

  3. रूबी ऑन रेल्स को दूरस्थ mysql डेटाबेस से कनेक्ट नहीं कर सकता

  4. MySQL के साथ इकाई फ्रेमवर्क

  5. PHP का उपयोग करके MySQL समय को UNIX टाइमस्टैम्प में कैसे बदलें?