"

Outer Join در پایگاه داده SQL

تیم تحریریه 1403/12/03 0 208
لینک کوتاه https://zoheirsoftware.com/z/518cd097c |
Outer Join در پایگاه داده SQL,استفاده‌های کاربردی از Outer Join,انواع  Outer Join در SQL

Outer Join در پایگاه داده SQL

uter Join در SQL نوعی اتصال بین جداول است که تمام رکوردهای یک یا هر دو جدول را بازمی‌گرداند، حتی اگر در جدول دیگر داده‌ی مطابقی وجود نداشته باشد.

برخلاف Inner Join که فقط رکوردهای مشترک را نمایش می‌دهد، در Outer Join اگر تطابقی وجود نداشته باشد، مقدار NULL در ستون‌های مربوط به جدول دیگر قرار می‌گیرد.

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

از Outer Join معمولاً در گزارش‌گیری‌ها و تحلیل‌های داده‌ای استفاده می‌شود، جایی که نمایش تمامی داده‌ها مهم‌تر از تطابق دقیق میان جداول است.

به عنوان مثال، اگر بخواهیم فهرست تمام مشتریان را همراه با سفارشات آن‌ها نمایش دهیم، حتی اگر برخی از مشتریان سفارشی نداشته باشند، این نوع اتصال به ما کمک می‌کند تا داده‌های بدون تطابق را نیز ببینیم.

 

Outer Join در پایگاه داده SQL

 

انواع  Outer Join در SQL

  • Left Outer Join

    LEFT OUTER JOIN تمامی رکوردهای جدول سمت چپ را باز می‌گرداند و در صورتی که تطابقی در جدول سمت راست نباشد، مقدار NULL برای آن فیلدها درج می‌شود.

    مثال Left Outer Join

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID
FROM Customers
LEFT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

در این مثال، تمامی مشتریان نمایش داده می‌شوند. اگر سفارشی برای آن‌ها وجود داشته باشد، نمایش داده می‌شود و در غیر این صورت مقدار NULL در ستون OrderID درج می‌شود.

  • Right Outer Join

RIGHT OUTER JOIN مشابه Left Outer Join عمل می‌کند اما تمامی رکوردهای جدول سمت راست را باز می‌گرداند، حتی اگر در جدول سمت چپ تطابقی وجود نداشته باشد.

مثال Right Outer Join

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID
FROM Customers
RIGHT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

در این مثال، تمامی سفارشات نمایش داده می‌شوند. اگر مشتری برای سفارش وجود داشته باشد، نمایش داده می‌شود و در غیر این صورت مقدار NULL در ستون CustomerID درج می‌شود.

  •  Full Outer Join

FULL OUTER JOIN تمامی رکوردهای هر دو جدول را باز می‌گرداند، حتی اگر در جدول مقابل تطابقی وجود نداشته باشد.

مثال Full Outer Join

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

در این مثال، تمامی مشتریان و تمامی سفارشات نمایش داده می‌شوند.

اگر تطابقی وجود داشته باشد، داده‌ها ترکیب می‌شوند. اگر تطابقی وجود نداشته باشد، مقدار NULL در ستون‌های جدول مقابل درج می‌شود.

 

انواع  Outer Join در SQL

 

 

تفاوت Outer Join و Inner Join

در حالی که Inner Join فقط داده‌های مشترک بین دو جدول را نمایش می‌دهد، Outer Join تمام داده‌های یکی یا هر دو جدول را باز می‌گرداند.

اگر رکوردی در یکی از جداول تطابق نداشته باشد، مقدار NULL در جدول دیگر نمایش داده می‌شود.

استفاده از نوع مناسب Join تأثیر زیادی بر عملکرد پایگاه داده و دقت گزارش‌ها دارد.

 

 

 

🌟 آیا می‌خواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟

با دوره آموزشی SQL Server ما، شما می‌توانید به راحتی و با روشی عملی، تمام مهارت‌های لازم را یاد بگیرید!

این دوره به شما آموزش می‌دهد که چگونه داده‌ها را به بهترین شکل مدیریت کنید، گزارش‌های قدرتمند بسازید و به تحلیل‌های عمیق دست یابید.

با محتوای جذاب و پروژه‌های واقعی، شما نه تنها تئوری را یاد می‌گیرید، بلکه توانایی‌های عملی خود را نیز تقویت می‌کنید.

پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشن‌تر بردارید!

 همین حالا شروع کنید و به دنیای داده‌ها بپیوندید!

 

 

استفاده‌های کاربردی از Outer Join

  • پیدا کردن رکوردهای بدون تطابق

گاهی اوقات نیاز داریم داده‌هایی را پیدا کنیم که در یک جدول وجود دارند اما در جدول دیگر تطابق ندارند.

مثال: پیدا کردن مشتریانی که سفارشی ثبت نکرده‌اند

SELECT Customers.CustomerID, Customers.Name
FROM Customers
LEFT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.OrderID IS NULL;
  • ترکیب داده‌ها از چند منبع

زمانی که داده‌هایی از چندین منبع داریم و می‌خواهیم همه‌ی آن‌ها را در یک گزارش نمایش دهیم، FULL OUTER JOIN می‌تواند بسیار مفید باشد.

 

 

استفاده‌های کاربردی از Outer Join

مثال‌های کاربردی از Outer Join در SQL


 مثال 1: استفاده از Left Outer Join برای نمایش تمام مشتریان و سفارشات آن‌ها

SELECT Customers.CustomerName, Orders.OrderID  
FROM Customers  
LEFT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;


این کوئری تمام مشتریان را نمایش می‌دهد، حتی آن‌هایی که سفارشی ثبت نکرده‌اند. اگر سفارشی نداشته باشند، مقدار NULL در ستون OrderID نمایش داده می‌شود.

مثال 2: استفاده از Right Outer Join برای نمایش تمام سفارشات و مشتریان مربوطه

SELECT Customers.CustomerName, Orders.OrderID  
FROM Customers  
RIGHT OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;


این کوئری تمام سفارشات را نشان می‌دهد، حتی اگر مشتری‌ای که سفارش را ثبت کرده در جدول مشتریان موجود نباشد.

مثال 3: استفاده از Full Outer Join برای نمایش تمام دانشجویان و تمام دوره‌های آموزشی

SELECT Students.StudentName, Courses.CourseName  
FROM Students  
FULL OUTER JOIN Courses ON Students.CourseID = Courses.CourseID;


این کوئری تمام دانشجویان و تمام دوره‌های آموزشی را نمایش می‌دهد، حتی اگر برخی دانشجویان ثبت‌نام نکرده باشند یا برخی دوره‌ها بدون دانشجو باشند.

 مثال 4: بررسی لیست کارکنان و پروژه‌ها، حتی اگر برخی کارکنان در پروژه‌ای نباشند و برخی پروژه‌ها مسئول نداشته باشند

SELECT Employees.EmployeeName, Projects.ProjectName  
FROM Employees  
FULL OUTER JOIN Projects ON Employees.ProjectID = Projects.ProjectID;

 این کوئری تمامی کارکنان و تمامی پروژه‌ها را نمایش می‌دهد، حتی اگر برخی کارکنان هنوز به پروژه‌ای اختصاص داده نشده باشند یا برخی پروژه‌ها بدون مسئول باشند.

مثال 5: مقایسه لیست محصولات فروخته‌شده و محصولات موجود در انبار

SELECT Inventory.ProductName, Sales.SaleDate  
FROM Inventory  
FULL OUTER JOIN Sales ON Inventory.ProductID = Sales.ProductID;

 این کوئری تمام محصولات موجود در انبار و تمام محصولات فروخته‌شده را نشان می‌دهد، حتی اگر برخی محصولات هنوز فروخته نشده باشند یا برخی محصولات فروخته‌شده دیگر در انبار نباشند.

نکته: Outer Join در گزارش‌گیری و تحلیل داده‌هایی که ارتباط کامل بین جداول ندارند، بسیار مفید است. 

دوره های مرتبط
آموزش Sql,آموزش sqlserver, آموزش جامع Sqlserver

آموزش پایگاه داده SqlServer

پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .

997,000 تومان

3.2k بازدید

ارسال دیدگاه

برای ارسال نظر لطفا ورود یا ثبت نام کنید.