الدرس 9 من 10

تصنيف بالشروط

هدف الدرس

CASE WHEN

01

الشرح

CASE يشتقّ من القيمة تصنيفًا داخل الاستعلام نفسه: يجرّب شروط WHEN بالترتيب، ويُرجع قيمة أول شرط يصدق، ثم يتوقّف.

CASE WHEN price >= 500 THEN 'فاخر' WHEN price >= 100 THEN 'متوسط' ELSE 'اقتصادي' END AS band

لذلك يأتي الأضيق أولًا: لو قدّمت price >= 100 لابتلع الفاخر معه، لأن كل ما فوق 500 فوق 100 أيضًا. وبلا ELSE يأخذ ما لم يطابق شيئًا NULL.

02

المطلوب

اعرض name وstock وعمودًا اسمه status: 'نافد' إن كان المخزون صفرًا، و'قليل' إن كان دون 10، و'متاح' لما سوى ذلك.

معايير التصحيح

5 معايير
  1. الأعمدة name و stock و status
  2. كل المنتجات حاضرة
  3. المخزون الصفري «نافد» لا «قليل»
  4. من 1 إلى 9 «قليل»
  5. من 10 فأكثر «متاح»
الجداول المتاحة في هذا الدرس
CREATE TABLE products (
  id       INTEGER PRIMARY KEY,
  name     TEXT    NOT NULL,
  category TEXT    NOT NULL,
  price    INTEGER NOT NULL,
  stock    INTEGER NOT NULL
);

INSERT INTO products (name, category, price, stock) VALUES
  ('شاشة 27 بوصة',  'تقنية',   899,   4),
  ('سماعة لاسلكية', 'تقنية',   249,  12),
  ('لوحة مفاتيح',   'تقنية',   189,   0),
  ('شاحن سريع',     'تقنية',    79,  40),
  ('كرسي مكتب',     'منزل',    649,   3),
  ('رف كتب',        'منزل',    249,   7),
  ('مصباح مكتب',    'منزل',    100,  18),
  ('حقيبة ظهر',     'قرطاسية', 180,  22),
  ('دفتر ملاحظات',  'قرطاسية',  15, 200),
  ('أقلام ملونة',   'قرطاسية',  25,   0),
  ('قاموس عربي',    'كتب',      95,  10),
  ('رواية',         'كتب',      45,  30);
query.sql
المخرجاتSQLite · sql.js

جارٍ تحميل SQLite…

–/5

يبدأ الفحص حين تجهز البيئة.

5 معايير في بطاقة «المطلوب».