यदि आपको लगता है कि LEFT JOIN का कार्यान्वयन INNER JOIN + अधिक कार्य है, तो यह परिणाम भ्रमित करने वाला है। क्या होगा यदि इनर जॉइन का कार्यान्वयन (बाएं जॉइन + फ़िल्टरिंग) है? आह, यह अब स्पष्ट है।
क्वेरी योजनाओं में, केवल यही अंतर है:उपयोगकर्ता... अतिरिक्त:जहां का उपयोग करना . इसका मतलब है छानना। एक अतिरिक्त फ़िल्टरिंग चरण है क्वेरी में इनर जॉइन के साथ।
यह एक अलग तरह का फ़िल्टरिंग है जो आमतौर पर एक क्लॉज में उपयोग किया जाता है। इस फ़िल्टरिंग क्रिया का समर्थन करने के लिए A पर एक अनुक्रमणिका बनाना आसान है।
SELECT *
FROM A
WHERE A.ID = 3
इस प्रश्न पर विचार करें:
SELECT *
FROM A
LEFT JOIN B
ON A.ID = B.ID
WHERE B.ID is not null
यह क्वेरी इनर जॉइन के बराबर है। B पर कोई अनुक्रमणिका नहीं है जो उस फ़िल्टरिंग क्रिया में मदद करेगी। कारण यह है कि जहां क्लॉज बी पर एक शर्त के बजाय, शामिल होने के परिणाम पर एक शर्त बता रहा है।