SQL: ربط الجداول باستخدام JOIN واستعلامات متقدمة
في قواعد البيانات العلائقية، غالباً ما تكون البيانات موزعة على عدة جداول. لعرض معلومات مترابطة من جداول مختلفة، نستخدم عبارة JOIN.
أنواع JOIN
INNER JOIN: يرجع الصفوف التي تتطابق في كلا الجدولين.
SELECT employees.name, departments.dept_name FROM employees INNER JOIN departments ON employees.dept_id = departments.id;
LEFT JOIN: يرجع جميع الصفوف من الجدول الأيسر والصفوف المتطابقة من الجدول الأيمن.
RIGHT JOIN: يرجع جميع الصفوف من الجدول الأيمن والصفوف المتطابقة من الجدول الأيسر.
استعلامات متقدمة
GROUP BY: لتجميع الصفوف حسب عمود معين.
SELECT dept_id, COUNT(*) AS employee_count FROM employees GROUP BY dept_id;
HAVING: لتصفية المجموعات (مثل WHERE لكن للمجموعات).
SELECT dept_id, AVG(salary) AS avg_salary FROM employees GROUP BY dept_id HAVING AVG(salary) > 50000;
تمارين
التمرين 1: اكتب استعلام SQL يعرض أسماء الطلاب والمواد التي سجلوا فيها باستخدام INNER JOIN.
التمرين 2: اكتب استعلاماً يحسب عدد الطلاب في كل قسم بشرط أن يكون العدد أكبر من 5.
للمزيد من دروس قواعد البيانات، راجع درس SQL: استعلامات SELECT ودرس تصميم قواعد البيانات.
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.