کاربرد Join

کاربرد Join

کاربرد Join

وقتی در یک کوئری فیلدها را از چندین جدول مختلف استخراج می کنیم، هنگام مشاهده دستورات SQL آن کوئری متوجه می شویم که دستوری به نام Join به آن اضافه شده است. یک مثال می زنیم. فرض کنید نام و نام خانوادگی از جدول دانش آموز به همراه درس از جدول دروس و نمره را از جدول نمرات استخراج کرده ایم. کوئری را ایجاد کرده و در نمای SQL View مشاهده کنید.

ایجاد کوئری

در خط اول کوئری فیلدهایی که استخراج شده است را نشان می دهد. در قسمت From مشخص می کنیم که اطلاعات از کدام جدول استخراج شده است. چون از چند جدول استخراج شده است بنابراین باید با دستور Join آنها را به هم متصل کنیم. دستور معادل ارتباط بین جدول Inner Join است. جدول دانش آموز با جدول درس ارتباط دارد و جدول درس نیز با جدول نمره در ارتباط است. برای اینکه اطلاعات به درستی استخراج شود باید در قسمت ON مشخص کنیم که کدام اطلاعات را استخراج کند. که در واقع فیلدهای مرتبط بین دو جدول را باید در دستور SQL بنویسیم.

انواع ارتباط

دستور Join که ارتباط بین جدول ها را برقرار می کند دارای انواع مختلفی است. در این مثال از Inner Join استفاده شده است. به این معنی که اطلاعات دانش آموزان را به شرطی که در جدول Mark نمره ای برای آنها ثبت شده باشد را نشان بدهد. در صورتی که دانش آموزی نمره ای نداشته باشد، نام وی در این لیست مشاهده نمی شود. خروجی این کوئری را در این تصویر زیر مشاهده می کنید.

دستور Inner Join

اسم چهار دانش آموز را مشاهده می کنید. اکنون می توانید از دستورات Left Join را Right Join استفاده کنید. کوئری را به صورت تصویر زیر تغییر داده و نتیجه را مشاهده کنید.

کاربرد Join

نتیجه کوئری باید مشابه تصویر زیر باشد. همانطور که مشاهده می کنید اسامی دانش آموزانی که نمره ای برای آنها ثبت نشده است نیز نشان داده می شود. این روش برای پیدا کردن اسامی دانش آموزانی که نمره آنها ثبت نشده است مناسب می باشد.

نتیجه کوئری

اکنون کوئری را به صورت زیر تغییر دهید. این کوئری بدان معنی است که اسامی درسهایی را نشان بده که نمره ای برای آن ثبت نشده است.

کاربرد join

کوئری را اجرا کرده و نتیجه آن را مشاهده کنید.

نتیجه اجرای کوئری

 

تنظیم نوع ارتباط

علاوه بر روش کدنویسی، از طریق تعیین نوع ارتباط بین جدول ها نیز می توان نحوه نمایش خروجی کوئری را تنظیم کرد. برای این کار کوئری را در نمای Design باز کنید. روی خطوط ارتباطی بین دو جدول دوبار کلیک کنید. در پنجره Join Properies 3 گزینه مشاهده می شود.

کاربرد Join

گزینه اول به معنی همان Inner Join است و تنها رکوردهایی را نشان می دهد که در جدول مقابل مقداری برای آنها وجود داشته باشد (نمایش دانش آموزانی که حتما دارای نمره باشند). گزینه دوم همان Left Join است یعنی اطلاعات از جدول فرزند نشان داده می شود حتی اگر در جدول والد رکوردی برای وی وجود نداشته باشد (دروسی داریم که هنوز نمره ای ندارند) و گزینه سوم Right Join است که اطلاعات را از جدول اصلی نشان می دهد حتی اگر در جدول فرزند رکوردی برای وی وجود نداشته باشد (دانش آموزانی که هنوز نمره ای برای آنها ثبت نشده است).

به علامت فلش در هنگام تغییر نوع ارتباط توجه کنید.

علامت فلش در ارتباط

کاربرد Join

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

 

پاسخی بگذارید

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