جوین ضربدری (CROSS JOIN)
جوین ضربدری (CROSS JOIN) هر ردیف جدول چپ را با همه ردیف های جدول راست ترکیب می کند. یعنی تعداد نتایج برابر «تعداد چپ × تعداد راست» است. مثل ترکیب همه دانش آموزان با همه تیم ها؛ لیست خیلی بزرگ می شود.
تعریف ساده و کاربرد
در CROSS JOIN هیچ «شرط اتصال (Join Condition)» لازم نیست. هر ترکیب ممکن ساخته می شود. این روش فقط وقتی لازم است استفاده کن که واقعاً به همه ترکیب ها نیاز داری.
مثال از منبع
اتصال testproducts و categories با CROSS JOIN. خروجی شامل همه جفت های ممکن است.
SELECT testproduct_id, product_name, category_name
FROM testproducts
CROSS JOIN categories;
نکات عملکردی و هشدارها
- خروجی می تواند بسیار بزرگ شود.
- برای کنترل اندازه، از
WHEREبعد از CROSS JOIN کمک بگیر. - اگر فقط ردیف های مطابق می خواهی، به جای آن از INNER JOIN استفاده کن.
گام های سریع تمرین
- تعداد ردیف هر جدول را بررسی کن.
- کوئری CROSS JOIN را اجرا کن.
- اگر نتایج زیاد است، شرط فیلتر اضافه کن.
نکته: برای مشاهده تفاوت ها، صفحات جوین کامل (FULL JOIN) و یونین (UNION) را هم ببین؛ هرکدام هدف متفاوتی دارند.
جمع بندی سریع
- هر ردیف چپ با همه راست ترکیب می شود.
- تعداد نتایج «چپ × راست» است.
- بدون شرط اتصال اجرا می شود.
- مواظب رشد انفجاری نتایج باش.