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

लेफ्ट जॉइन का उपयोग कब करें और इनर जॉइन का उपयोग कब करें?

क्या कोई पकड़ है? हाँ वहाँ है - लेफ्ट जॉइन बाहरी जॉइन का एक रूप है, जबकि इनर जॉइन, वेल, इनर जॉइन का एक रूप है।

यहां ऐसे उदाहरण दिए गए हैं जो अंतर दिखाते हैं। हम आधार डेटा के साथ शुरुआत करेंगे:

mysql> select * from j1;
+----+------------+
| id | thing      |
+----+------------+
|  1 | hi         |
|  2 | hello      |
|  3 | guten tag  |
|  4 | ciao       |
|  5 | buongiorno |
+----+------------+

mysql> select * from j2;
+----+-----------+
| id | thing     |
+----+-----------+
|  1 | bye       |
|  3 | tschau    |
|  4 | au revoir |
|  6 | so long   |
|  7 | tschuessi |
+----+-----------+

और यहां हम इनर जॉइन और लेफ्ट जॉइन के बीच अंतर देखेंगे:

mysql> select * from j1 inner join j2 on j1.id = j2.id;
+----+-----------+----+-----------+
| id | thing     | id | thing     |
+----+-----------+----+-----------+
|  1 | hi        |  1 | bye       |
|  3 | guten tag |  3 | tschau    |
|  4 | ciao      |  4 | au revoir |
+----+-----------+----+-----------+

हम्म, 3 पंक्तियाँ।

mysql> select * from j1 left join j2 on j1.id = j2.id;
+----+------------+------+-----------+
| id | thing      | id   | thing     |
+----+------------+------+-----------+
|  1 | hi         |    1 | bye       |
|  2 | hello      | NULL | NULL      |
|  3 | guten tag  |    3 | tschau    |
|  4 | ciao       |    4 | au revoir |
|  5 | buongiorno | NULL | NULL      |
+----+------------+------+-----------+

वाह, 5 पंक्तियाँ! क्या हुआ?

आउटर जॉइन जैसे left join उन पंक्तियों को संरक्षित करें जो मेल नहीं खाते हैं - इसलिए आईडी 2 और 5 वाली पंक्तियों को बाईं ओर की क्वेरी द्वारा संरक्षित किया जाता है। शेष कॉलम 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. MySQL में सूची आइटम की स्थिति कैसे वापस करें

  2. एक जटिल MySQL क्वेरी लिखना

  3. MySQL सिंगल कोट्स, डबल कोट्स, बैक कोट्स उपयोग समझाया गया

  4. गोलांग के साथ JSON पर MySQL टेबल डंप करना

  5. कमांड प्रॉम्प्ट का उपयोग करके एक mysql डेटाबेस कैसे निर्यात करें?