SQL FULL OUTER JOIN Keyword
زبان SQL وقتی بخوایم همه رکوردهای هر دو جدول رو برگردونیم، چه مطابق داشته باشن چه نه، از FULL OUTER JOIN استفاده میکنیم.
🔹 ساختار کلی
-
همه رکوردهای table1 و table2 نمایش داده میشن.
-
اگر مطابق وجود داشته باشه → دادههای هر دو جدول کنار هم میاد.
-
اگر در یکی از جدولها دادهای مطابق نباشه → ستونهای جدول دیگه مقدار
NULLخواهند داشت.
🔹 مثال ساده
جدول: Customers
| id | name | city |
|---|---|---|
| 1 | Ali | Tehran |
| 2 | Sara | Mashhad |
| 3 | Reza | Tabriz |
جدول: Orders
| order_id | customer_id | amount |
|---|---|---|
| 101 | 1 | 500 |
| 102 | 2 | 300 |
| 103 | 4 | 700 |
کوئری:
📌 خروجی:
| name | amount |
|---|---|
| Ali | 500 |
| Sara | 300 |
| Reza | NULL |
| NULL | 700 |
توضیح:
-
علی و سارا مشتریانی هستن که سفارش دارن → دادههاشون ترکیب شد.
-
رضا مشتریه اما سفارشی نداره → مقدار amount برای اون
NULLشد. -
سفارش با customer_id = 4 مشتری نداره → مقدار name براش
NULLشد.
🔹 FULL JOIN در دیتابیسها
-
در SQL Server و Oracle پشتیبانی میشه.
-
در MySQL مستقیماً وجود نداره! (باید با ترکیب
LEFT JOINوRIGHT JOINو استفاده ازUNIONشبیهسازی بشه).
مثال در MySQL:
✅ نکات مهم
-
FULL OUTER JOINترکیبی از LEFT JOIN و RIGHT JOIN هست. -
هر دو جدول کامل نمایش داده میشن.
-
اگر مطابق وجود نداشته باشه، مقدار ستونها
NULLخواهد بود.
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React