جناب شیرزادی دلیلش رو توی پست قبلی هم عرض کردم
اصولاً توی نوشتن کد مخصوصاً دستوراتی که با دیتابیس سروکار دارند،مهمترین هدف بالابردن راندمان و کم کردن زمان پاسخه و با زیاد شدن تعداد خطوط کد چنانچه راندمان بالا بره نه تنها چیزی رو از دست ندادیم که به هدف نهایی نزدیکتر شدیم.ولی چون مرتبه خطی داره (نسبت به join که مرتبه نمایی داره) به مراتب سریعتر عمل میکنه
اگه کد حقیر رو ملاحظه بفرمائید می بینید که مرتبه اجرایی اون در بدترین حالت o(n) هست ولی کد جنابعالی در بدترین حالت از مرتبه o(n^2) هست.
خود این امر مهمترین دلیل برای تغییر الگوریتم میتونه باشه.
امیدوارم قانع شده باشید