क्या कोई पकड़ है? हाँ वहाँ है - लेफ्ट जॉइन बाहरी जॉइन का एक रूप है, जबकि इनर जॉइन, वेल, इनर जॉइन का एक रूप है।
यहां ऐसे उदाहरण दिए गए हैं जो अंतर दिखाते हैं। हम आधार डेटा के साथ शुरुआत करेंगे:
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 से भरे हुए हैं।
दूसरे शब्दों में, बाएँ और भीतरी जोड़ परस्पर विनिमय योग्य नहीं हैं।