دستور join در SQL

با نام و یاد خداوند. سلام خدمت کاربران گرامی
در جلسه قبل با دستور case در sql آشنا شدیم. در این جلسه قصد داریم شما را با دستور join در SQL آشنا کنیم  .

با استفاده از دستور join در SQL  می توانیم  ارتباط بین جداول را برقرار کنیم .

دو تا جدول به نام های Student و Course داشتیم . ابتدا با استفاده از دستور select  اطلاعات جداول خود را مشاهده می کنیم:

select *
from Student

خروجی جدول student:

دستور join در SQL -تصویر 1

 

select *
from Course

خروجی جدول Course:

دستور join در SQL -تصویر 2

ما در اینجا می خواهیم join  را بین دو جدول  Course و student  برقرار  کنیم تا بتوانیم اطلاعات را از دو جدول استخراج کنیم .

برای پیوند دادن دو جدول باید فیلدی به عنوان فیلد رابط وجو د داشته باشد که دارای حداقل یک داده متناظر در ستون های مرتبط باشد. که بهترین انتخاب فیلد  FOREIGN KEY (کلید خارجی) که  اشاره به فیلدPRIMARY KEY  (کلید اصلی) دارد می باشد .

قبل از این که دستور join در SQL  را پیاده سازی کنیم به این  نکته توجه داشته باشید . که با استفاده ازدستور Join و دستور InnerJoin  می توانیم  پیوند بین دو جدول را برقرار کنیم نتیجه اجرای هر دوی آنها هم یکسان است، اما دستور  InnerJoin دارای کارایی بالاتری می باشد و به همین دلیل پیشنهاد می کنیم  که از دستور InnerJoin استفاده کنید .

پیاده سازی دستور join

 Query زیر را اجرا می کنیم:

select *
from Student inner join Course
on student.id=Course.ID_FK_Student

کلمه ی  کلیدی on فیلد رابطه را در دو جدول مشخص می کند.

برای انتخاب فیلد رابطه ،باید از فیلدی استفاده می شد که مقادیر آن در هر دو جدول یکسان باشد به همین دلیل از جدول student  فیلد id  و از جدول  Course  فیلد ID_FK_Student استفاده کردیم .

خروجی Query دستور inner join  را با هم مشاهده می کنیم :

دستور join در SQL -تصویر 2

اینبار  همین Query را با استفاده از دستور join   اجرا می کنیم:

select *
from Student  join Course
on student.id=Course.ID_FK_Student

خروجی  Query دستور join را با هم مشاهده می کنیم :

دستور join در SQL -تصویر 3

مشاهده می کنیم که خروجی هر دو دستور یکسان می باشد.

اگر شرطی هم داشته باشیم می توانیم بعد از پایان این دستورات شرط را قرار دهیم .

برای مثال فقط مشخصات فردی که id  آن 1030 است را نمایش دهد ؟

select *
from Student  join Course
on student.id=Course.ID_FK_Student
where id=1030

خروجی را با هم مشاهده می کنیم .

دستور join در SQL -تصویر 4

مشاهده می کنیم که پیغام خطا می دهد این پیغام به این دلیل است که در هر دو جدول چنین فیلدی وجود دارد . پس برای رفع این مشکل باید نام جدول را قبل از نوشتن فیلد قید کنیم .

select *

from Student  join Course

on student.id=Course.ID_FK_Student

where student.id=1030

خروجی را با هم مشاهده می کنیم .

دستور join در SQL - تصویر 5

در این جلسه با دستور join در SQL آشنا شدیم ، در جلسه بعد قصد داریم تا شما را با دستور left join  و  right join آشنا کنیم .

 

با  آموزش مبانی SQL Server در خدمت شما هستیم. لطفا سوالات ، نظرات و پیشنهادات خود را در قسمت دیدگاه ها با ما در میان بگذارید.

به این مقاله چند تا ستاره میدی؟
[تعداد رای: 16 امتیاز: 3.6]