تكليفات الدروس من [ 42 ] إلى [ 46 ]
[ 5 ] تكليفات على [ Control Flow And Data Grouping ]
التكليف 01
تحديد النتيجة باستخدام IF
لديك جدول جاهز بإسم exam_results يحتوي على البيانات التالية
| score | name | id |
| 90 | Osama | 1 |
| 45 | Ahmed | 2 |
| 50 | Eman | 3 |
| 0 | Sayed | 4 |
- اعرض الإسم والدرجة
- باستخدام IF أضف عمود بإسم result يعرض "Passed" لو الدرجة أكبر من أو تساوي 50 ويعرض "Failed" في غير ذلك
- اكتب استعلام آخر يعرض الإسم ورسالة مثل "Passed With Score 90" أو "Failed With Score 45"
- اكتب أمر تحديث يجعل الدرجة 10 لو كانت أقل من 1 ويترك باقي الدرجات كما هي
- نفذ أمر التحديث بعد استعلامات العرض
التكليف 02
تحديد التقدير باستخدام CASE
لديك جدول جاهز بإسم student_grades
| level_code | score | name | id |
| 3 | 95 | Osama | 1 |
| 2 | 80 | Ahmed | 2 |
| 1 | 60 | Eman | 3 |
| 0 | 40 | Sayed | 4 |
- باستخدام CASE اعرض الإسم والتقدير في عمود بإسم grade
- الدرجة من 90 فأكثر يكون تقديرها "Excellent"
- الدرجة من 75 إلى أقل من 90 يكون تقديرها "Very Good"
- الدرجة من 50 إلى أقل من 75 يكون تقديرها "Passed"
- الدرجة الأقل من 50 يكون تقديرها "Failed"
- في استعلام آخر استخدم CASE level_code لعرض المستوى
- الكود 1 يعرض "Beginner"
- الكود 2 يعرض "Intermediate"
- الكود 3 يعرض "Advanced"
- أي كود آخر يعرض "Unknown"
التكليف 03
حساب المستحقات
لديك جدول جاهز بإسم work_payments
| day_rate | days | name | id |
| 300 | 20 | Osama | 1 |
| 200 | 15 | Ahmed | 2 |
| 250 | 22 | Eman | 3 |
- اعرض الإسم وعدد أيام العمل وسعر اليوم
- احسب المستحقات بضرب عدد الأيام في سعر اليوم داخل عمود base_pay
- أضف مكافأة 500 ثم اخصم 100 واعرض الناتج داخل final_pay
- باستخدام DIV احسب عدد أسابيع العمل المكتملة بافتراض أن أسبوع العمل 5 أيام
- باستخدام % احسب عدد الأيام المتبقية بعد تقسيم الأيام إلى أسابيع عمل
- اكتب استعلام مستقل يعرض ناتج 21 / 2 وناتج 21 DIV 2 لتوضيح الفرق
التكليف 04
عرض معلومات الاتصال
- قم باختيار قاعدة البيانات elzero_school
- اعرض معلومات المستخدم الحالي بثلاث طرق مختلفة
- اعرض إصدار MySQL
- اعرض إسم قاعدة البيانات الحالية
- اعرض رقم الاتصال الحالي
- اعرض ترميز النص الذي ترجعه USER()
- قم بتحويل النص "Elzero" إلى latin1 ثم اعرض ترميزه
- استخدم أسماء أعمدة واضحة
التكليف 05
تجميع النقاط وترتيب النتائج
لديك جدول جاهز بإسم contributions
| points | name | id |
| 100 | Osama | 1 |
| 50 | Ahmed | 2 |
| 150 | Osama | 3 |
| 200 | Eman | 4 |
| 75 | Ahmed | 5 |
| 40 | Sayed | 6 |
- اعرض جميع السجلات مرتبة حسب الإسم تصاعديا ثم النقاط تنازليا عند تكرار الإسم
- باستخدام GROUP BY اعرض مجموع النقاط لكل شخص داخل عمود total_points
- أضف عدد مساهمات كل شخص داخل عمود contribution_count
- رتب النتائج حسب مجموع النقاط من الأكبر للأصغر
- اكتب استعلام آخر يعرض الأشخاص الذين مجموع نقاطهم أكبر من أو يساوي 150 باستخدام HAVING
- اكتب استعلام آخر يعرض الأشخاص الذين لديهم أكثر من مساهمة
النتيجة المطلوبة لاستعلام التجميع الأول
| contribution_count | total_points | name |
| 2 | 250 | Osama |
| 1 | 200 | Eman |
| 2 | 125 | Ahmed |
| 1 | 40 | Sayed |