جوین داخلی (INNER JOIN)
جوین داخلی (INNER JOIN) فقط ردیف هایی را می آورد که در هر دو جدول «تطابق» دارند. مثل زمانی که لیست دانش آموزان و لیست کلاس ها را با «کد کلاس» جفت می کنی و فقط نفراتِ واقعاً ثبت نام شده را می بینی.
تعریف و ایده اصلی
INNER JOIN یعنی ترکیب ردیف های دو جدول، وقتی مقدار ستون های مرتبط برابر است. ستون مرتبط معمولاً «کلید خارجی (Foreign Key)» است؛ یعنی ستونی که به کلید اصلی جدول دیگر اشاره می کند.
مثال عملی از منبع
جدول testproducts با categories بر اساس category_id وصل می شود. فقط ردیف های دارای تطابق برمی گردند.
SELECT testproduct_id, product_name, category_name
FROM testproducts
INNER JOIN categories ON testproducts.category_id = categories.category_id;
برای مرور کلی تر INNER JOIN در PostgreSQL را در صفحه «جوین ها» ببین.
نکات مهم
- JOIN و INNER JOIN نتیجه یکسان می دهند.
- ردیف های بدون تطابق نمایش داده نمی شوند.
- ستون های جوین را ایندکس کن تا کوئری سریع شود.
گام های سریع اجرا
- ستون مرتبط را مشخص کن؛ مثلاً
category_id. - نوع جوین را INNER JOIN انتخاب کن.
- ستون های خروجی را انتخاب کن و کوئری را اجرا کن.
نکته: اگر تطابق زیاد است، فقط ستون های لازم را بگیر تا نتیجه سبک بماند.
جمع بندی سریع
- INNER JOIN فقط تطابق ها را می آورد.
- JOIN همان INNER JOIN است.
- ایندکس گذاری کارایی را بهتر می کند.
- ستون های لازم را انتخاب کن.