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

MySQL में फुल आउटर जॉइन कैसे करें?

PostgreSQL, और SQL सर्वर जैसे अन्य डेटाबेस के विपरीत, MySQL बॉक्स से बाहर पूर्ण बाहरी जुड़ाव का समर्थन नहीं करता है। तो आपको अन्य जॉइन प्रकारों जैसे लेफ्ट जॉइन एड राइट जॉइन के संयोजन का उपयोग करके पूर्ण बाहरी जॉइन करने की आवश्यकता होगी जो MySQL में समर्थित हैं। इस लेख में, हम देखेंगे कि MySQL में एक पूर्ण बाहरी जुड़ाव कैसे होता है।


MySQL में एक पूर्ण बाहरी जुड़ाव कैसे करें

यहाँ MySQL में एक पूर्ण बाहरी जुड़ाव करने के चरण दिए गए हैं।

मान लें कि आपके पास निम्नलिखित दो टेबल हैं बिक्री और आदेश

mysql> select * from sales;
 +------+---------------------+--------+
 | id   | order_date          | amount |
 +------+---------------------+--------+
 |    1 | 2021-02-02 08:15:00 |    250 |
 |    2 | 2021-02-02 08:30:00 |    200 |
 |    3 | 2021-02-02 08:55:00 |    150 |
 |    4 | 2021-02-02 09:15:00 |    125 |
 |    5 | 2021-02-02 09:30:00 |    250 |
 |    6 | 2021-02-02 09:45:00 |    200 |
 |    7 | 2021-02-02 10:15:00 |    180 |
 |    8 | 2021-02-02 10:30:00 |    125 |
 |    9 | 2021-02-02 10:45:00 |    200 |
 |   10 | 2021-02-02 11:15:00 |    250 |
 |   11 | 2021-02-02 11:30:00 |    150 |
 |   12 | 2021-02-02 11:45:00 |    200 |
 +------+---------------------+--------+

 mysql> select * from orders;
 +------+------------+--------+
 | id   | order_date | amount |
 +------+------------+--------+
 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-01 |    250 |
 +------+------------+--------+

यहाँ तालिकाओं के बीच MySQL में एक पूर्ण बाहरी जुड़ाव करने के लिए सामान्य वाक्य रचना है t1 और t2 जॉइन फ़ील्ड आईडी . पर आधारित है . आप अपनी आवश्यकता के अनुसार तालिका के नाम अपडेट कर सकते हैं और फ़ील्ड में शामिल हो सकते हैं।

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

उपरोक्त क्वेरी डुप्लिकेट पंक्तियों को भी लौटाएगी, यदि कोई हो। यदि आप पूर्ण बाहरी जुड़ाव में डुप्लिकेट रिकॉर्ड नहीं चाहते हैं, तो इसके बजाय निम्न क्वेरी का उपयोग करें।

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

टेबल बिक्री . के बीच एक पूर्ण बाहरी जुड़ाव करने के लिए SQL क्वेरी यहां दी गई है और आदेश

mysql> SELECT * FROM sales
       LEFT JOIN orders ON sales.id = orders.id
       UNION ALL
       SELECT * FROM sales
       RIGHT JOIN orders ON sales.id = orders.id
       WHERE sales.id IS NULL ;
 +------+---------------------+--------+------+------------+--------+
 | id   | order_date          | amount | id   | order_date | amount |
 +------+---------------------+--------+------+------------+--------+
 |    5 | 2021-02-02 09:30:00 |    250 |    5 | 2021-01-28 |    250 |
 |    6 | 2021-02-02 09:45:00 |    200 |    6 | 2021-01-29 |    250 |
 |    7 | 2021-02-02 10:15:00 |    180 |    7 | 2021-01-30 |    250 |
 |    8 | 2021-02-02 10:30:00 |    125 |    8 | 2021-01-31 |    250 |
 |    9 | 2021-02-02 10:45:00 |    200 |    9 | 2021-02-01 |    250 |
 |    1 | 2021-02-02 08:15:00 |    250 | NULL | NULL       |   NULL |
 |    2 | 2021-02-02 08:30:00 |    200 | NULL | NULL       |   NULL |
 |    3 | 2021-02-02 08:55:00 |    150 | NULL | NULL       |   NULL |
 |    4 | 2021-02-02 09:15:00 |    125 | NULL | NULL       |   NULL |
 |   10 | 2021-02-02 11:15:00 |    250 | NULL | NULL       |   NULL |
 |   11 | 2021-02-02 11:30:00 |    150 | NULL | NULL       |   NULL |
 |   12 | 2021-02-02 11:45:00 |    200 | NULL | NULL       |   NULL |
 +------+---------------------+--------+------+------------+--------+

परिणाम में बिना किसी डुप्लिकेट पंक्तियों के पूर्ण बाहरी जुड़ाव करने के लिए SQL क्वेरी यहां दी गई है।

mysql> SELECT * FROM sales
       LEFT JOIN orders ON sales.id = orders.id
       UNION
       SELECT * FROM sales
       RIGHT JOIN orders ON sales.id = orders.id;

MySQL के लिए एक रिपोर्टिंग टूल की आवश्यकता है? Ubiq मिनटों में डेटा की कल्पना करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP और mysql के माध्यम से असीमित स्तर का मेनू कैसे बनाएं

  2. MySQL में पंक्तियों को लाने के लिए क्वेरी का चयन करें

  3. ऑन क्लॉज में MySQL अज्ञात कॉलम

  4. केवल-पढ़ने के लिए MySQL उपयोगकर्ता कैसे बनाएं?

  5. TO_DAYS () उदाहरण – MySQL