%45 تخفیف، با کد daneshjoo روی تمام آموزش ها، بمناسبت روز دانشجو
زمان باقی مانده
سبد (0)

تبلیغات

پیوند بین جداول در SQL

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


پیوند (JOIN) بین جداول در SQL

Wiki

کلید واژه JOIN در دستورات SQL برای ایجاد Query از دو یا چند جدول براساس ارتباط بین ستون های خاصی از جداول استفاده می شود.

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

primary key یا کلید اصلی، ستونی(یا ترکیبی از ستون ها) با داده منحصر به فرد و یکتا برای هر سطراست. مقدار کلید اصلی باید یکتا باشد. هدف مرتبط کردن داده ها بین جداول است بدون اینکه داده ها در جداول تکرار شوند.

در جدول Persons:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

توجه کنید که ستون P_Id در جدول فوق کلید اصلی است. این بدان معنی است که هیچ دو سطری نمی تواند مقدار یکسانی داشته باشد. ستون P_Id دو فرد را حتی اگر نام های یکسانی هم داشته باشند، متمایز می کند.

در جدول Orders:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 1
4 24562 1
5 34764 15

دقت کنید که ستون O_Id در جدول Orders کلید اصلی می باشد و ستون P_Id در اینجا به نفرات در جدول Persons بدون استفاده از نامشان اشاره دارد.

توجه کنید که ارتباط بین دو جدول به وسیله ستون P_Id می باشد.


تفاوت پیوندها

Wiki

قبل از اینکه بحث را ادامه دهیم انواع پیوندهایی که می توان استفاده کرد را به همراه تفاوت های آن ها بیان می کنیم:

  • JOIN: سطرهایی را که در هر دو جدول تناظر دارند را بر می گرداند.
  • LEFT JOIN: تمامی سطرها از جدول سمت چپ را برمی گرداند حتی اگر هیچ تناظری در جدول سمت راست نداشته باشد.
  • RIGHT JOIN: تمامی سطرها از جدول سمت راست را برمی گرداند حتی اگر هیچ تناظری در جدول سمت چپ نداشته باشد.
  • FULL JOIN: تمام ردیف های موجود در جداول را با وجود حتی یک همخوانی میان جداول بر می گرداند. 

برای مشاهده فیلم های آموزشی مقدماتی تا پیشرفته پایگاه داده SQLServer کلیک کنید.

دیدگاه‌ها  

+3 # محسن گ 1395-06-13 21:57
سلام
اگر 2 جدول را بخواهیم پیوند دهیم و بطور مثال با * همه فیلدها رو انتخاب میکنیم و با نوشتن نام جدول . نام فیلد میتونیم فیلدی خاص را انتخاب کنیم
حالا اگر بخام همه فیلدهارو غیر از چند فیلد دلخواه انتخاب کنم کوتاه ترین و بهینه ترین دستور چیه؟
چون اگه بخام نام فیلدها رو بنویسم خیلی کوئری طولانی میشه. آیا غیر این راه ، روشی دیگه هم براش داریم؟
اگر نداریم و باید همه فیلدها رو بنویسم این کوئری طولانی باعث کندی نمیشه؟
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # وحید 1396-06-23 10:30
دوست عزیز از نام مستعار ستونها استفاده کن که مخفف باشه سریعتر ستونها رو لیست کنی
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1395-06-17 16:45
سلام
پیشنهاد می شه که هرگز از علامت ستاره (*) برای انتخاب همه فیلدها استفاده نکنید و حتی اگر می خواهید همه فیلدها رو لیست کنید، یکی یکی نام آنها را ذکر کنید. در واقع علامت ستاره Performance یا کارایی کوئری شما را کاهش خواهد داد.
اما با توجه به سوال مطرح شده، شما مجبور هستید که نام فیلدهایی که نیاز دارید را یکی یکی مشخص نمایید.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی SQL

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی