الدرس 3 من 10
شروط مركّبة
- 12 دقيقة
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
AND و OR و IN و BETWEEN
الشرح
الشروط تتركّب: AND يشترط الطرفين معًا، وOR يكفيه أحدهما، وNOT يعكس الشرط. ولقائمة قيم IN ('كتب', 'قرطاسية')، ولمدى BETWEEN 20 AND 50 — والحدّان داخلان فيه.
الفخّ في الأسبقية: AND يُحسب قبل OR كما يُحسب الضرب قبل الجمع. فالشرط category = 'كتب' OR category = 'قرطاسية' AND price < 50 يعني: كل الكتب بأيّ سعر، والقرطاسية الرخيصة وحدها.
الأقواس تحسم المعنى: (… OR …) AND price < 50. وIN يُغني عن OR في مثل هذا أصلًا.
المطلوب
اعرض name وprice لمنتجات الفئتين 'تقنية' و'منزل' التي سعرها من 100 إلى 300، واستبعد النافد منها (stock = 0).
معايير التصحيح
5 معايير- العمودان name و price
- من فئتَي تقنية ومنزل فقط
- كل الأسعار بين 100 و300
- لا منتج نافد
- لا ينقص شيء — والحدّ 100 داخل
الجداول المتاحة في هذا الدرس
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);