البرمجة

تحدي استعلام SQL وleft join

التحدي الذي تواجهه يتمثل في كتابة استعلام SQL يقوم بالانضمام بين الجدولين Person و Employee باستخدام left join وفلترة النتائج لاستبعاد الموظفين بدوام كامل (full time). في هذه الحالة، يمكن أن يكون الشخص غير موجودًا في جدول الموظفين.

لحل هذا التحدي، يمكن استخدام الجدول المؤقت (subquery) في جزء الشرط (WHERE clause) لتحديد الأشخاص غير الموجودين في جدول الموظفين أو الذين ليس لديهم نوع توظيف ‘full’، ومن ثم استبعاد الموظفين بدوام كامل من النتائج.

فيما يلي استعلام SQL يقوم بتحقيق ذلك:

sql
SELECT * FROM Person LEFT JOIN Employee ON Person.person_id = Employee.person_id WHERE Employee.person_id IS NULL OR Employee.emp_type <> 'full';

يقوم هذا الاستعلام بإعادة جميع الأشخاص من الجدول Person بغض النظر عما إذا كانوا موجودين في جدول الموظفين أو لا، ومن ثم يقوم بفلترة النتائج لاستبعاد الأشخاص الذين يكونون موظفين بدوام كامل (full time) في جدول Employee.

المزيد من المعلومات

عند تصميم قواعد البيانات وكتابة الاستعلامات الخاصة بها، قد يواجه المطورون تحديات مختلفة تتطلب مهارات متقدمة لحلها بكفاءة. في هذا المثال، نواجه تحديًا يتعلق بالانضمام بين جدولين باستخدام left join وتطبيق شرط معقد لفلترة النتائج.

في بادئ الأمر، يتعين علينا فهم بنية الجدولين المعنيين. لدينا جدول “Person” الذي يحتوي على عمود “person_id”، وجدول “Employee” الذي يحتوي على عمود “emp_type” يحدد نوع التوظيف، حيث يمكن أن يكون القيمة “full” أو “part”.

الهدف من الاستعلام هو إرجاع جميع الأشخاص من الجدول “Person”، باستثناء الأشخاص الذين يكونون موظفين بدوام كامل. تعقيد المشكلة ينبع من حقيقة أنه قد لا يكون جميع الأشخاص المدرجين في جدول “Person” موجودين في جدول “Employee”.

لحل هذا التحدي، استخدمنا استعلام SQL يقوم بالانضمام بين الجدولين باستخدام left join، مما يسمح لنا بإعادة جميع الصفوف من الجدول “Person” بغض النظر عما إذا كان الشخص موجودًا في جدول “Employee” أم لا. ومن ثم قمنا بتطبيق شرط في جزء “WHERE” من الاستعلام لاستبعاد الأشخاص الذين يكونون موظفين بدوام كامل من النتائج.

هذا التحدي يبرز أهمية فهم مفاهيم قواعد البيانات واستخدام الأدوات اللازمة بشكل فعال لحل المشاكل الشائعة التي يواجهها المطورون. من خلال التفكير الإبداعي والاستخدام السليم للأدوات القاعدية، يمكن للمطورين تجاوز التحديات التقنية وتطوير حلول فعّالة لاحتياجات العملاء والمشاريع.

مقالات ذات صلة

زر الذهاب إلى الأعلى
إغلاق

أنت تستخدم إضافة Adblock

يرجى تعطيل مانع الإعلانات حيث أن موقعنا غير مزعج ولا بأس من عرض الأعلانات لك فهي تعتبر كمصدر دخل لنا و دعم مقدم منك لنا لنستمر في تقديم المحتوى المناسب و المفيد لك فلا تبخل بدعمنا عزيزي الزائر