دسته بندی ها
23:02 1400/05/05

دستور Join در Sql Server چیست ؟ کاربرد Join در Sql Server چیست ؟

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Sql Server

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4452
هوش مصنوعی

پاسخ هوش مصنوعی

دستور JOIN در SQL Server برای ترکیب ردیف های دو یا چند جدول استفاده می شود. این دستور به ما این امکان را می دهد که اطلاعات مرتبط را از جداول مختلف با هم جمع آوری کنیم.

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

معمولاً از دستور JOIN زمانی استفاده می شود که:

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

استفاده از JOIN می تواند به کمک انواع مختلفی از آن صورت گیرد. بعضی از انواع رایج JOIN عبارت اند از:

  • INNER JOIN: فقط ردیف هایی را برمی گرداند که در هر دو جدول مطابقت دارند.
  • LEFT JOIN: تمام ردیف های جدول سمت چپ را برمی گرداند و ردیف های مطابقت نیافته از جدول سمت راست را با مقدار NULL پر می کند.
  • RIGHT JOIN: تمام ردیف های جدول سمت راست را برمی گرداند و ردیف های مطابقت نیافته از جدول سمت چپ را با مقدار NULL پر می کند.
  • FULL JOIN: تمام ردیف ها را از هر دو جدول برمی گرداند و ردیف های مطابقت نیافته را با مقدار NULL پر می کند.

به عنوان مثال، برای انجام یک INNER JOIN بین دو جدول می توان از کد زیر استفاده کرد:

SELECT *
FROM Customers
INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;
به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : fateme 23:27 1400/05/05

دستور Join در Sql Server چیست ؟

 

دستور join  در sql server

 

اگر بخوام یک تعریف خیلی ساده و مفهومی از دستور Join در Sql Server داشته باشم میتونم بگم دستور Join برای ترکیب کردن سطرهای دو یا چند جدول با همدیگه بر اساس یک ستون مشترک می باشد.

 

کاربرد Join در Sql Server چیست ؟

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

 

جدول مشتری ها (Customer):

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

 

جدول سفارشات خرید (Order):

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

 

خب در 2 جدول بالا جداول مشتری ها و سفارشات اونها رو می بینید. در جدول Customer فیلد CustomerID کلید اصلی می باشد و در جدول Order هم فیلد CustomerID که به عنوان کلید خارجی می باشد مشخص است. حالا فرض کنید می خواهیم سفارشات هر مشتری را نمایش دهیم. در Sql Server باید یک کوئری مشابه با زیر بنویسیم :

 

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

 

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

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

 

پس متوجه کاربرد Join در Sql Server شدید. اینکه چه زمانی باید از دستور Join استفاده کرد هم مشخص است. زمانی ما از دستور Join استفاده می کنیم که قصد داشته باشیم سطرهایی از دو یا چند جدول را توسط ستون مشترک در کنار هم نمایش دهیم. (در مثال بالا ستون CustomerName را در کنار ستون های OrderID و OrderDate توسط ستون مشترک CustomerID نمایش دادیم.)

 

انواع Join در Sql Server

در Sql Server انواع Join وجود دارد که در ادامه توضیح مختصری در مورد هر کدام ارائه می کنم :

 

  • (INNER) JOIN : ردیف هایی را نمایش می دهد که در جداول هر دو طرف Join تطابق داشته باشید.

inner join

  • LEFT (OUTER) JOIN : در این نوع جوین همه ردیف های جدول سمت چپ و ردیف هایی از جدول سمت راست که تطابق داشته باشد نمایش داده می شود.

left join

  • RIGHT (OUTER) JOIN : برعکس مورد قبلی همه ردیف های جدول سمت راست و ردیف هایی از جدول سمت چپ که تطابق داشته باشد.

rigth join

  • FULL (OUTER) JOIN : همه ردیف های سمت چپ و راست Join که تطابق داشته باشد.

full join

ویرایش شده در چهارشنبه 6 مرداد 1400 ساعت 01:39:01
به این پاسخ امتیاز بدهید    0
امتیاز: 1635 رتبه: 2
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود