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

التحدي

سهل

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

  • <strong>tasks</strong>: <strong>id</strong>, <strong>title</strong>, <strong>priority</strong>

قم بإرجاع title و priority، مرتبة بحيث تأتي 'critical' أولاً، ثم 'high'، ثم 'low'، وأي شيء آخر في النهاية. ضمن نفس الأولوية، قم بالفرز حسب title أبجدياً.

ورقة مرجعية

استخدم CASE داخل 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 ... تعادل CASE WHEN column = value THEN ....

جرّب بنفسك

SELECT title, priority
FROM tasks
ORDER BY
    -- ...
quiz iconاختبر نفسك

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

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