در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

ارائه یک مثال از کاربرد عملگر Left outer join

با سلام و احترام ، در این پست قصد دارم به ارائه یک مثال از کاربرد دستور Left outer join در SQL -SERVER بپردازم. همون طور که میدونید برای اتصال دو یا چند جدول در دیتابیس از عملگر های Join استفاده می کنیم که انواع مختلفی هم دارند. از جمله Cross join که مانند ضرب دکارتی دو جدول عمل می کنه و تمامی سطر های دو جدول رو با هم پیوند میده و در خروجی نمایش میده.Inner join که برای استفاده از این عملگر در صورتی که از شرط ضرب on استفاده نکنیم درست مانند Cross join عمل می کنه و تمامی سطر های دو جدول که با هم پیوند خوردند در خروجی نمایش داده می شن.و حالا قبل از پرداختن به مبحث Left outer join باید در این این جا دو اصطلاح رو تعریف کنم:

1- سطر های پیوندپذیر

2- سطر های پیوندناپذیر.

همون طور که میدونید در اثر اعمال عملگر ضرب دکارتی و یا به عبارتی همان join تعدادی سطر بی معنی ایجاد می شوند. برای آن که در خروجی سطر های با معنی رو داشته باشیم از شروط ضرب استفاده می کنیم. در صورتی که مقدار سطر در ستون مشترک دو جدول یکی باشه، اون سطر یک سطر پیوند پذیر هست. برای مثال اگر ستون مشترک بین دو جدول در دیتابیس، نام افراد باشه، اون سطری از دو جدول به عنوان یک سطر پیوند پذیر تلقی میشه که مقدار اون ( یعنی نام فرد) در هر دو جدول از مقدار یکسانی برخوردار باشه. بنابراین هنگامی که شما شرط ضرب رو می نویسید، با خروجی بی معنی مثل شکل زیر مواجه نمی شوید:

ارائه یک مثال از کاربرد عملگر Left outer join

در این شکل دو جدول با هم دیگه پیوند خوردن که ستون های نام ،شهر و شماره وام مربوط به یک جدول و ستون های نام شعبه و مقدار وام مربوط به یک جدول دیگر هست.سطرهای معنی دار به رنگ سبز نشون داده شده و سطر بی معنی آخر به رنگ قرمز. همون طور که می بینید در سطر آخر به این صورت تفسیر میشه : مشتری به نام محمد که ساکن شهر قم است ، نامش سهیله و از شبعه فرشته وامی به مقدار 22400 تومد گرفته !!!! بنابراین به همین دلیل این سطر یک سطر پیوند ناپذیر هست...حالا زمانی که شما از دستور Left outer join استفاده می کنید، سطرهای پیوند ناپذیر جدول سمت چپ ( جدولی که سمت چپ عبارت

Left outer join ) قرار گرفته نیز در خروجی ظاهر میشه. به شکل زیر نگاه کنید :

ارائه یک مثال از کاربرد عملگر Left outer join

در این شکل باز هم سطرهای پیوند پذیر رو با رنگ سبز و پیوند ناپذیر ها رو با رنگ قرمز نشون دادم.

نتیجه اجرای کوئری با استفاده از دستون Left outer join بر روی این دو جدول به صورت زیر خواهد بود:

ارائه یک مثال از کاربرد عملگر Left outer join

همون طور که می بینید سطر پیوند ناپذیر جدول مشتری در این جا ظاهر شده و در ستون هایی که مربوط به جدول وام هست مقداریر NULL رو مشاهده می کنید.تفسیری که برای این خروجی هست به این صورته : نام مشتریانی که وام نگرفته اند.بنابراین از Left outer join و هم چنین right outer join میشه برای یک چنین کوئری هایی استفاده کرد.اما نکته مهمی که در کوئری زدن وجود داره، هزینه ای هست که برای کوئری باید در نظر بگیرید. هدف این هست که کوئری هایی بنویسیم که بهینه باشند و در مدت زمان کمتری به ما خروجی بدن. همین کوئری رو با دستورات Not exist و not in و صد البته با تفاضل هم میشه نوشت.ابزاری در management studio هست به این شکل:

ارائه یک مثال از کاربرد عملگر Left outer join

include actual execution plan شما می تونید چند تا کوئری رو بنویسید و قبل از اجرای هم زمان این ابزار رو فعال کنید و بعد از اجرا هزینه اجرای هریک از کوئری ها رو ببینید به این صورت : و می تونید هزینه هریک از کوئری ها رو ببینید و کوئری کم هزینه تر رو انتخاب کنید.

ارائه یک مثال از کاربرد عملگر Left outer join

#انواع_پیوندها_در_sql #outer_join_در_sql #انواع_join_در_sql #کاربرد_عملگر_left_outer_join #آموزش_query_گرفتن_از_sql #کاربرد_join_در_sql #inner_join_در_sql
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره تابستانه می تونی امروز ارزونتر از فردا خرید کنی ....