ক্রেগ ফ্রিডম্যানের ব্লগে নেস্টেড লুপস জয়েনে তিনি ব্যাখ্যা করেছেন যে নেস্টেড লুপগুলি কেন যোগদান করে একটি সঠিক বাহ্যিক যোগদানকে সমর্থন করতে পারে না:
সমস্যাটি হ'ল আমরা একাধিকবার অভ্যন্তরীণ টেবিলটি স্ক্যান করি - একবার বাইরের জোড়ের প্রতিটি সারির জন্য। এই একাধিক স্ক্যানের সময় আমরা একই অভ্যন্তরীণ সারিগুলি একাধিকবার মুখোমুখি হতে পারি। কোন পর্যায়ে আমরা উপসংহারে পৌঁছাতে পারি যে কোনও নির্দিষ্ট অভ্যন্তরীণ সারিটি যোগ দেয় না বা যোগ দেয় না?
কেউ কি দয়া করে এটি খুব সাধারণ এবং শিক্ষামূলক উপায়ে ব্যাখ্যা করতে পারেন?
এর অর্থ কী লুপটি বাইরের টেবিল ( R1
) দিয়ে শুরু হয় এবং অভ্যন্তরীণ ( R2
) স্ক্যান করে ?
আমি বুঝতে পারি যে একটি R1
মানের সাথে যোগ দেয় না তার জন্য R2
এটি এমন একটি প্রতিস্থাপন করা উচিত NULL
যাতে ফলাফল সেটটি ( NULL, R2
) হয়ে যায় । আমার জন্য যোগদান করা না R2
হলে R1
কোনও মান ফিরিয়ে দেওয়া অসম্ভব বলে মনে হয় যে কারণে কোন মানটি ফেরত দিতে হবে তা তা জানতে পারে না R2
। তবে এটি ব্যাখ্যা করার উপায় নয়। অথবা এটা?
এসকিউএল সার্ভার প্রকৃতপক্ষে এর সাথে অনুকূলকরণ (এবং প্রায়শই প্রতিস্থাপন করে) RIGHT JOIN
করে LEFT JOIN
তবে প্রশ্নটি ব্যাখ্যা করার কারণ এটি কেন / সমর্থন যুক্তি ব্যবহারের জন্য প্রযুক্তিগতভাবে অসম্ভব ।NESTED LOOPS JOIN
RIGHT JOIN