INNER JOIN يدمج بيانات جدولين حسب العمود المشترك بينهما، ويعيد فقط الصفوف التي لها تطابق في الجدولين.
SELECT users.name, orders.id, orders.total
FROM orders
INNER JOIN users ON users.id = orders.user_id;
هنا orders.user_id يشير إلى users.id، فيظهر اسم صاحب كل طلب.
ما الذي لا يظهر؟
- المستخدم الذي لا طلبات له.
- الطلب الذي يشير إلى مستخدم محذوف.
لإظهار كل المستخدمين حتى دون طلبات، استخدم LEFT JOIN. وليس شرطًا أن يكون اسم العمود متطابقًا في الجدولين؛ المهم أن تكون القيم مرتبطة.