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

मैं MySQL में FULL OUTER JOIN कैसे कर सकता हूँ?

आपके पास पूर्ण जुड़ाव नहीं है MySQL में, लेकिन आप सुनिश्चित कर सकते हैं कि उनका अनुकरण करें ए> ।

कोड के लिए नमूना इस स्टैक ओवरफ्लो प्रश्न से ट्रांसक्राइब किया गया आपके पास है:

दो टेबल t1, t2 के साथ:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

उपरोक्त क्वेरी उन विशेष मामलों के लिए काम करती है जहां पूर्ण बाहरी जुड़ाव ऑपरेशन किसी भी डुप्लिकेट पंक्तियों का उत्पादन नहीं करेगा। ऊपर दी गई क्वेरी UNION . पर निर्भर करती है क्वेरी पैटर्न द्वारा शुरू की गई डुप्लिकेट पंक्तियों को हटाने के लिए ऑपरेटर सेट करें। हम एंटी-जॉइन . का उपयोग करके डुप्लिकेट पंक्तियों को शुरू करने से बच सकते हैं दूसरी क्वेरी के लिए पैटर्न, और फिर दो सेटों को संयोजित करने के लिए UNION ALL सेट ऑपरेटर का उपयोग करें। अधिक सामान्य स्थिति में, जहां एक पूर्ण बाहरी जुड़ाव डुप्लिकेट पंक्तियों को लौटाएगा, हम यह कर सकते हैं:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION ALL
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
WHERE t1.id IS NULL


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP_CONCAT ऑर्डर BY

  2. मैं MySQL में एकाधिक कॉलम के लिए अद्वितीय बाधा कैसे निर्दिष्ट करूं?

  3. मैं MySQL में 'अगर मौजूद नहीं है तो डालें' कैसे कर सकता हूं?

  4. मैं LIMIT क्लॉज में बड़ी ऑफसेट के साथ MySQL क्वेरी को कैसे तेज कर सकता हूं?

  5. Mysql कॉलम को पंक्ति में बदलें (पिवट टेबल)