PostgreSQL

PostgreSQL — جوین چپ (LEFT JOIN)

آخرین بروزرسانی: 1404/08/18

جوین چپ (LEFT JOIN)

جوین چپ (LEFT JOIN) همه ردیف های جدول «چپ» را می آورد. سپس، اگر در جدول «راست» تطابق باشد، ستون هایش را کنارش می گذارد. اگر نباشد، آن ستون ها خالی می مانند. مثل فهرست کامل دانش آموزان کلاس، حتی اگر برخی هنوز کلاس انتخاب نکرده اند.

تعریف کوتاه و کاربرد

LEFT JOIN یعنی: «همه چپ + فقط تطابق های راست». «تطابق» یعنی برابری ستون های مرتبط؛ معمولاً «کلید خارجی (Foreign Key)». این الگو برای گزارش های «جامع» عالی است.

مثال از منبع

اتصال testproducts به categories با ستون category_id؛ همه محصولات می آیند، حتی بی دسته ها.

SELECT testproduct_id, product_name, category_name
FROM testproducts
LEFT JOIN categories ON testproducts.category_id = categories.category_id;

مشاهده در ادیتور

نکات مهم LEFT JOIN

  • LEFT JOIN با LEFT OUTER JOIN برابر است.
  • ردیف های بدون تطابق حذف نمی شوند؛ ستون های راست تهی می مانند.
  • برای سرعت بهتر، روی ستون های جوین ایندکس بگذار.

گام های سریع اجرا

  1. ستون مرتبط را پیدا کن؛ مثلاً category_id.
  2. جدول چپ و راست را مشخص کن.
  3. کوئری LEFT JOIN را اجرا کن و نتیجه را بررسی کن.

نکته: اگر فقط تطابق ها را می خواهی، از INNER JOIN استفاده کن. اگر همه طرفین را می خواهی، بعداً RIGHT JOIN و FULL JOIN را ببین.

جمع بندی سریع

  • LEFT JOIN همه چپ را نگه می دارد.
  • تطابق های راست کنارشان می آیند.
  • بدون تطابق، ستون های راست تهی اند.
  • OUTER نوشتن اختیاری است.