इस तरह के आंतरिक जुड़ने के लिए वे तार्किक रूप से समकक्ष हैं। हालांकि, आप उन स्थितियों में भाग ले सकते हैं जहां जॉइन क्लॉज में एक शर्त का अर्थ है जहां क्लॉज की स्थिति से कुछ अलग है।
एक साधारण उदाहरण के रूप में, कल्पना कीजिए कि आप इस तरह से एक लेफ्ट जॉइन करते हैं;
select x.id
from x
left join y
on x.id = y.id
;
यहाँ हम x से सभी पंक्तियाँ ले रहे हैं, भले ही y में कोई मिलान आईडी हो या नहीं। अब मान लें कि हमारे शामिल होने की स्थिति बढ़ रही है - हम न केवल y में id के आधार पर बल्कि id_type पर भी मैचों की तलाश कर रहे हैं।
select x.id
from x
left join y
on x.id = y.id
and y.id_type = 'some type'
;
फिर से यह सभी पंक्तियों को x में देता है, भले ही y में कोई मिलान (id, id_type) हो।
हालांकि यह बहुत अलग है:
select x.id
from x
left join y
on x.id = y.id
where y.id_type = 'some type'
;
इस स्थिति में, हम x की सभी पंक्तियों को चुन रहे हैं और y से पंक्तियों से मिलान करने का प्रयास कर रहे हैं। अब उन पंक्तियों के लिए जिनके लिए y में कोई मेल नहीं है, y.id_type शून्य होगा। उसके कारण, y.id_type ='some type' संतुष्ट नहीं है, इसलिए उन पंक्तियों को छोड़ दिया जाता है जिनमें कोई मिलान नहीं होता है, जो इसे प्रभावी रूप से एक आंतरिक जुड़ाव में बदल देता है।
लंबी कहानी छोटी:इनर जॉइन के लिए यह मायने नहीं रखता कि परिस्थितियां कहां जाती हैं, लेकिन बाहरी जॉइन के लिए यह हो सकता है।