INNER JOIN (INNER JOIN)
اینجا «جوین داخلی (INNER JOIN)» را می بینی. جوین داخلی فقط ردیف های مشترک را می آورد. یعنی وقتی مقدار دو جدول با هم برابر باشد.
INNER JOIN چیست؟
«جوین داخلی» سطرهایی را می دهد که در هر دو جدول «مچ» دارند. اگر سفارشی مشتری نداشت، دیده نمی شود. این رفتار برای گزارش های دقیق عالی است.
نمونه ساده: سفارش همراه نام مشتری
در این مثال، سفارش ها با مشتری های هم کد وصل می شوند.
SELECT Orders.OrderID, Customers.CustomerName;
FROM Orders;
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
نمونه سه جدولی: مشتری، سفارش، ارسال کننده
اینجا دو بار جوین داخلی داریم؛ اول با مشتری ها، بعد با شرکت ارسال.
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName;
FROM ((Orders);
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID);
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID;
گام های عملی برای استفاده
- کلیدهای مشترک را پیدا کن.
- FROM را با جدول اصلی بنویس.
- INNER JOIN را با شرط ON اضافه کن.
- ستون های خروجی را انتخاب کن.
- نتیجه را تست و مرتب کن.
نکته: ستون های جوین بهتر است ایندکس داشته باشند تا کوئری سریع تر شود.
پیوندهای مرتبط
برای مقایسه، FULL OUTER JOIN همه ردیف ها را نشان می دهد. همچنین، تعریف جدول مبدأ را در FROM ببین. اگر لازم شد ایندکس بساز، به INDEX سر بزن. برای تمرکز روی همین موضوع، این هم جوین داخلی SQL.
جمع بندی سریع
- INNER JOIN فقط ردیف های مشترک را می آورد.
- شرط پیوند در ON نوشته می شود.
- ایندکس روی کلید جوین، سرعت را بالا می برد.
- برای همه ردیف ها، سراغ FULL OUTER JOIN برو.