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

استخدام CASE في ORDER BY

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy. الدرس 2 من 27.

لا يُستخدم CASE مع SELECT فقط. يمكنك وضعه داخل ORDER BY لفرز الصفوف وفق قاعدة مخصّصة لا يمكن للأعمدة وحدها التعبير عنها.

SELECT name, status
FROM tickets
ORDER BY
    CASE status
        WHEN 'urgent' THEN 1
        WHEN 'high'   THEN 2
        WHEN 'normal' THEN 3
        ELSE 4
    END

لاحظ الصيغة الأقصر: CASE column WHEN value THEN .... إنها مكافئة لـ WHEN column = value. استخدم الصيغة التي تبدو أكثر وضوحًا في القراءة.

challenge icon

التحدي

سهل

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

  • tasks: id، title، priority

أعِد title وpriority، مرتبةً بحيث يأتي 'critical' أولًا، ثم 'high'، ثم 'low'، وأي قيمة أخرى أخيرًا. بالنسبة إلى الأولوية نفسها، رتّب حسب title أبجديًا.

جرّب بنفسك

SELECT title, priority
FROM tasks
ORDER BY
    -- استبدل ترتيب العنصر النائب أدناه بتعبير CASE الذي
    -- يرتب الصفوف بالطريقة التي تصفها المهمة، ثم يفصل التعادلات أبجدياً
    id
quiz iconاختبر نفسك

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

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

تدرّب بنفسك: Playground لـ SQL