کلمهٔ کلیدی FULL OUTER JOIN

از ویکی‌کد، دانشنامهٔ برنامه‌نویسی
پرش به ناوبری پرش به جستجو
Main Page Tutorial
Sql-menu.png
موارد آموزشی
۱خانه
۲مقدمه
۳دستور زبان
۴عبارت SELECT
۵عبارت SELECT DISTINCT
۶شرط WHERE
۷عملگرهای AND, OR, NOT
۸کلمهٔ کلیدی ORDER BY
۹عبارت INSERT INTO
۱۰مقدارهای NULL
۱۱عبارت UPDATE
۱۲عبارت DELETE
۱۳عبارت‌های TOP ،LIMIT یا ROWNUM
۱۴توابع MIN و MAX
۱۵توابع COUNT ،AVG و SUM
۱۶عملگر LIKE
۱۷کاراکترهای Wildcard
۱۸عملگر IN
۱۹عملگر BETWEEN
۲۰نام‌های مستعار (Aliases)
۲۱متصل کردن (Join)
۲۲کلمهٔ کلیدی INNER JOIN
۲۳کلمهٔ کلیدی LEFT JOIN
۲۴کلمهٔ کلیدی RIGHT JOIN
۲۵کلمهٔ کلیدی FULL OUTER JOIN
۲۶دستور Self JOIN
۲۷عملگر UNION
۲۸عبارت GROUP BY
۲۹عبارت HAVING
۳۰عملگر EXISTS
۳۱عملگرهای ANY و ALL
۳۲عبارت SELECT INTO
۳۳عبارت INSERT INTO SELECT
۳۴عبارت CASE
۳۵توابع NULL
۳۶Stored Procedure
۳۷یادداشت‌ها
بانک اطلاعاتی
مرجع
مثال‌ها


کلمه کلیدی FULL OUTER JOIN در SQL

کلمه کلیدی FULL OUTER JOIN هنگامی که یک تطابق در رکوردهای جدول چپ (table1) یا راست (table2) باشد، همه رکوردها را برمی‌گرداند.[۱]

توجه: FULL OUTER JOIN بطور بالقوه می‌تواند result-setهای خیلی بزرگ را برگرداند!

نکته: FULL OUTER JOIN و FULL JOIN یکسان هستند.

نحو FULL OUTER JOIN
1 SELECT column_name(s)
2 FROM table1
3 FULL OUTER JOIN table2
4 ON table1.column_name = table2.column_name
5 WHERE condition;

نسخه نمایشی بانک اطلاعاتی

در این آموزش از بانک اطلاعاتی نمونه معروف Northwind استفاده می‌کنیم.

در ادامه انتخابی از جدول “Customers” آمده‌است:

CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

و انتخابی از جدول “Orders”:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

مثال SQL FULL OUTER JOIN

عبارت SQL زیر همه مشتری‌ها و همه سفارش‌ها را انتخاب می‌کند:

1 SELECT Customers.CustomerName, Orders.OrderID
2 FROM Customers
3 FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
4 ORDER BY Customers.CustomerName;

انتخابی از نتیجه به شکل زیر است:

CustomerName OrderID
Alfreds Futterkiste Null
Ana Trujillo Emparedados y helados 10308
Antonio Moreno Taquería 10365

توجه: کلمه کلیدی FULL OUTER JOIN همه رکوردهای مطابق را از هر دو جدول برمی‌گرداند، چه مطابقتی در جدول دیگر وجود داشته باشد چه نداشته باشد؛ بنابراین، اگر ردیف‌هایی در جدول "Customers" باشند که مطابقتی در جدول "Orders" نداشته باشند، یا اگر ردیف‌هایی در "Orders" باشند که مطابقتی در "Customers" نداشته باشند، این ردیف‌ها باز هم لیست خواهند شد.


منابع آموزشی