اختبار التصفية
Filtering Quiz
اختبار
~18 دقيقة
المستوى: مبتدئ
اختبار التصفية — Filtering Quiz
هذا الاختبار يراجع أهم عادة في SQL: لا تقرأ إلا الصفوف التي تعنيها. الشرط الجيد يساوي سؤالاً واضحاً. إذا كان السؤال “الطلبات المدفوعة ذات المبلغ العالي”، يجب أن يظهر ذلك مباشرة في WHERE.
مراجعة
query.sql
Output:
لاحظ أننا تعاملنا مع cancelled_at باستخدام IS NULL.
التحدي
اختر أسماء المنتجات النشطة التي سعرها بين 1000 و5000 هللة.
تحدي — Challenge
✓ محلول
استخدم active = 1 وBETWEEN
مراجعة المفاهيم
التحدي اختبر يدك على الشرط. هذه الأسئلة تختبر فهمك لماذا يُكتب الشرط هكذا. أجب قبل أن تنظر إلى الشرح.
سؤال — Question
قيمة NULL تعني «غير معروف»، وأي مقارنة عادية معها — حتى
NULL = NULL — تُنتج «غير معروف» فلا يمرّ الصف من الشرط. لذلك اخترعت SQL صيغة خاصة: IS NULL وIS NOT NULL هما الطريقتان الوحيدتان الصادقتان لفحص الغياب.سؤال — Question
حدّا
BETWEEN داخلان في النطاق: price BETWEEN 1000 AND 5000 يكافئ price >= 1000 AND price <= 5000. منتج سعره 1000 أو 5000 بالضبط يظهر في النتيجة. إن أردت استثناء الحدود فاكتب المقارنتين صراحةً بـ > و<.سؤال — Question
AND يرتبط أقوى من OR، فالشرط بلا أقواس يُقرأ: (مدفوع ومبلغ عالٍ) أو (ملغى) — فيتسرب كل ملغى مهما كان مبلغه. الأقواس حول OR تجعل السؤال البشري والشرط المكتوب متطابقين. اجعل الأقواس عادة كلما اجتمع AND وOR.استرجع الآن الصيغ نفسها من ذاكرتك — هي مفردات كل شرط WHERE ستكتبه.
أكمل الفراغ — Fill in the blank
IS NULL هي صيغة فحص الغياب الوحيدة الموثوقة — والمقلوب IS NOT NULL لفحص الوجود. أي = أو != مع NULL يعطي «غير معروف» ويُسقط الصف بصمت.أكمل الفراغ — Fill in the blank
BETWEEN low AND high تختبر الوقوع في نطاق شاملة الحدين — وهي ما استخدمته في التحدي لنطاق السعر. أوضح من كتابة مقارنتين منفصلتين عندما يكون النطاق شاملاً.