MyMisPal
→ دروس SQL
الدرس 7 من 12

ربط الجداول: INNER JOIN

هنا تبدأ قوة قواعد البيانات العلائقية. جدول الموظفين فيه رقم القسم فقط، واسم القسم موجود في جدول الأقسام. عشان تعرض الاثنين مع بعض تربط الجدولين على العمود المشترك.

SQL
SELECT e.first_name, e.job_title, d.name AS department
FROM employees e
JOIN departments d ON e.dept_id = d.dept_id;

e وd أسماء مختصرة للجداول تسهّل الكتابة. وON تحدد شرط الربط: المفتاح الأجنبي = المفتاح الأساسي. JOIN لحالها تعني INNER JOIN: تعرض فقط الصفوف اللي لها تطابق في الجدولين.

ABINNER JOINالصفوف المتطابقة في الجدولين فقط

A = الجدول بعد FROM، و B = الجدول بعد JOIN.

تقدر تربط أكثر من جدولين. هذا الاستعلام يعرض كل سطر طلب مع اسم العميل واسم المنتج:

SQL
SELECT o.order_id, c.name AS customer, p.name AS product, oi.quantity
FROM orders o
JOIN customers   c  ON o.customer_id = c.customer_id
JOIN order_items oi ON o.order_id    = oi.order_id
JOIN products    p  ON oi.product_id = p.product_id
ORDER BY o.order_id;

تمارين

تمرين 1

لكل طلب اعرض order_id واسم العميل name وتاريخ الطلب order_date.

تمرين 2

اعرض اسم كل منتج name وإجمالي الكمية المباعة منه SUM(quantity).

تمرين 3

اعرض الاسم الأول لموظف المبيعات first_name وعدد الطلبات اللي سجلها.

لقيت خطأ في هذي الصفحة، أو عندك فكرة تحسّن الموقع؟