سه شنبه , آبان ۲۹ ۱۳۹۷
خانه / آموزش برنامه نویسی / آموزش دیتابیس / آموزش sql server / آموزش دستور Join در Sql به صورت مفهومی

آموزش دستور Join در Sql به صورت مفهومی

دستور Join در Sql

 

یکی از دستورات بسیار پرکاربرد و مهم دستور Join در Sql می باشد. دستور Join انواع مختلفی مانند inner join، Left join, Right join و … دارد که در اینجا هدف ما معرفی انواع دستورات Join نمی باشد بلکه آشنایی با دستور Join در Sql به صورت مفهومی می باشد. در واقع هدف این می باشد که شما بفهمید دقیقا چگونه باید چند جدول را با هم join کنید و کوئری های پیچیده بنویسید.

 

خب با ارائه مثال این کار را انجام می دهیم. در شکل زیر یک دیتابیس به نام foroosh داریم که لیست جداول آن را مشاهده می نمایید. جدولی به نام Customer وجود دارد که لیست مشتریان را درون خود نگهداری می کند و در سمت راست تصویر نیز یک select ساده از این جدول اجرا شده است.

 

دستور join در sql

 

همچنین جدولی در این دیتابیس به نام invoice وجود دارد که در این جدول لیست فاکتورهای ثبت شده موجود می باشد. در جدول Customer فیلد CustomerID کلید اصلی می باشد و در جدول Invoice نیز فیلد customerID کلید خارجی می باشد.

 

آموزش دستور join در sql

 

همانطور که می دانید در جداول Sql معمولا سعی می شود که به جای رشته ها از اعداد استفاده کنند به همین خاطر ما به جای ذخیره نام مشتری از آی دی آنها استفاده می کنیم. این کار چند مزیت دارد که مهمترین آنها کاهش حجم دیتابیس، افزایش سرعت اجرای کوئری ها در دیتابیس و جلوگیری از افزونگی داده (تکراری شدن داده ها) رخ می دهد.

حال فرض کنید از شما خواسته می شود که لیست فاکتورهایی که بین تاریخ ۱۳۹۵/۰۳/۰۱ الی ۱۳۹۵/۰۴/۱۰ می باشد را به همراه مشخصات کامل مشتری نمایش دهید.

خب به نحوه تحلیل این کوئری دقت نمایید !!!

مرحله اول : خروجی کار چیست؟ خروجی لیست فاکتورها می باشد. پس کوئری در اصل باید از جدول Invoice باشد.

Step 1 : Select * From Invoice

 

مرحله دوم : در صورت سوال گفته شده فاکتورها به همراه مشخصات کامل مشتری. مشخصات کامل مشتری در جدول customer می باشد. پس به نوعی به این جدول نیز نیاز می باشد. در اینجا باید دنبال یک فیلد مشترک بین جدول customer و invoice بود که این فیلد همان CustomerId می باشد. پس از طریق این فیلد می توانیم این دو جدول را join کنیم. نحوه Join کردن به صورت زیر می باشد :

Step 2 : Select * From Invoice I Join Customer C On I.CustomerID = C.CustomerID

دقت کنید که کلمه I یک نام مختصر (Alias) برای جدول Invoice و C نام مختصر برای Customer می باشد. و بعد از کلمه On نیز ستونهای مشترک را می نویسیم.

 

مرحله سوم : اعمال شرط ها. حال بایستی شرط هایی که خواسته شده را در کوئری اعمال کنیم. به صورت کلی این کوئری مانند تصویر زیر می باشد.

 

آشنایی با دستور join در sql

 

این حالت ساده ترین نمونه از استفاده از دستور Join در sql می باشد که البته اگر مفهوم را خوب درک کرده باشید برای حالات پیچیده تر نیز می توان دقیقا از همین الگو استفاده کرد.

درباره سعید بحرانی فرد

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *