SQL INNER JOIN

زبان SQL، وقتی بخوایم فقط رکوردهایی رو بیاریم که در هر دو جدول مقدار مشترک دارن، از INNER JOIN استفاده می‌کنیم.

🔹 ساختار کلی

SELECT columns FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name;
  • INNER JOIN فقط ردیف‌هایی رو برمی‌گردونه که شرط ON برقرار باشه.

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

🔹 مثال ساده

جدول: Customers

idnamecity
1AliTehran
2SaraMashhad
3RezaTabriz

جدول: Orders

order_idcustomer_idamount
1011500
1022300
1031200

کوئری:

SELECT Customers.name, Orders.amount FROM Customers INNER JOIN Orders ON Customers.id = Orders.customer_id;

📌 خروجی:

nameamount
Ali500
Sara300
Ali200


🔹 INNER JOIN روی چند جدول

SELECT Customers.name, Orders.amount, Products.product_name FROM Customers INNER JOIN Orders ON Customers.id = Orders.customer_id INNER JOIN Products ON Orders.product_id = Products.id;

📌 اینجا داده‌ها از سه جدول ترکیب میشن: مشتری + سفارش + محصول.

🔹 استفاده از Alias برای خلاصه‌نویسی

SELECT c.name, o.amount FROM Customers c INNER JOIN Orders o ON c.id = o.customer_id;

نکات مهم

  • INNER JOIN معادل نوشتن چند شرط WHERE با مقایسه ستون‌های کلیدیه.

  • وقتی فقط رکوردهای مطابق در هر دو جدول رو می‌خواید، از این نوع JOIN استفاده کنید.

  • اگر بخواید همه رکوردهای یک جدول بیاد حتی بدون داده مرتبط، باید از LEFT JOIN یا RIGHT JOIN استفاده کنید.