Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الربط الأساسي - الجزء الأول

جزء من قسم الأساسيات في رحلة SQL على Coddy — الدرس 43 من 72.

حتى الآن، تناولنا مشكلات تتعلق بجدول واحد. الآن سنبحث في كيفية التعامل مع جداول متعددة.

لنفترض أن لدينا الجداول التالية:

الدورات

course_idlecturer_id
11
21
32

المحاضرون

lecturer_idالاسم
1جوناس
2ماليدوس

المهمة هي عرض كل دورة مع اسم المحاضر المقابل لها.

هناك طريقتان لتحقيق ذلك. لكل خيار، نقوم بمطابقة كل صف في جدول واحد مع الجدول الآخر. نتحقق من شرط يجب استيفاؤه، وإذا تم استيفاء الشرط، نقوم بدمج الصفين في صف واحد. النتيجة المطلوبة لكلا الخيارين:

معرف_الدورةاسم_المحاضر
1جوناس
2جوناس
3ماليدوس

الخيار 1:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses, lecturers
WHERE courses.lecturer_id = lecturers.lecturer_id

هنا نكتب جدولين في الكلمة المفتاحية FROM، وفي جملة WHERE نطلب أن يكون lecturer_id لكلا السجلين متطابقاً. وفي جملة SELECT نكتب الآن table.column لكي تعرف قاعدة البيانات من أين تجلب العمود.

الخيار 2:

SELECT courses.course_id, lecturers.name AS lecturer_name
FROM courses
JOIN lecturers ON courses.lecturer_id = lecturers.lecturer_id

بدلاً من WHERE نستخدم JOIN table ON condition

هذا النوع من الربط يسمى أيضاً بالربط الداخلي (inner join).

challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • <strong>grades</strong>: <strong>course_id</strong>, <strong>student_id</strong>, <strong>grade</strong>
  • <strong>students</strong>: <strong>id</strong>, <strong>name</strong>

أنشئ استعلامًا يجلب student_name و course_id و student_id و grade في جدول واحد. رتب النتيجة حسب grade بترتيب تصاعدي.

ورقة مرجعية

لدمج البيانات من جداول متعددة، استخدم إما صيغة الفاصلة مع WHERE أو صيغة JOIN:

الخيار 1: صيغة الفاصلة مع WHERE

SELECT table1.column, table2.column
FROM table1, table2
WHERE table1.id = table2.id

الخيار 2: صيغة JOIN

SELECT table1.column, table2.column
FROM table1
JOIN table2 ON table1.id = table2.id

استخدم صيغة table.column لتحديد الجدول الذي ينتمي إليه العمود عند الاختيار من جداول متعددة. يسمى هذا النوع من الربط بالربط الداخلي (inner join).

جرّب بنفسك

quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس الأساسيات