الدرس 4 من 10
البحث بنمط
- 11 دقيقة
- 5 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
LIKE مع % و _
الشرح
LIKE يطابق بنمط لا بقيمة: % أيّ عدد من الأحرف ولو صفرًا، و_ حرف واحد بالضبط. فـ'05%' كل ما يبدأ بـ05 مهما طال، و'05__' أربع خانات تمامًا.
وفي SQLite لا يفرّق LIKE بين الأحرف اللاتينية الكبيرة والصغيرة: 'Khalid@Mail.SA' تطابق '%@mail.sa'. أمّا = فيفرّق، وPostgreSQL تفرّق في LIKE نفسها — فلا تبنِ على هذا إن كان الاستعلام سينتقل.
والنمط الواسع يلتقط ما لا تريد: '%mail.sa' يطابق webmail.sa أيضًا. ثبّت ما يحدّ النطاق فعلًا: '%@mail.sa'.
المطلوب
اعرض name وemail وphone لعملاء النطاق mail.sa الذين جوّالهم مكتمل: يبدأ بـ05 وطوله عشر خانات بالضبط.
معايير التصحيح
5 معايير- الأعمدة name و email و phone
- كل العناوين على النطاق mail.sa
- الأحرف الكبيرة لا تُسقط أحدًا
- الجوّال عشر خانات تبدأ بـ05
- لا ينقص أحد
الجداول المتاحة في هذا الدرس
CREATE TABLE customers (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
email TEXT,
phone TEXT
);
INSERT INTO customers (name, email, phone) VALUES
('ليان', 'layan@mail.sa', '0551234567'),
('خالد', 'Khalid@Mail.SA', '0509876543'),
('ريم', NULL, '0543216789'),
('سارة', 'sara@gmail.com', NULL),
('فهد', NULL, NULL),
('نورة', 'noura@mail.sa', '055123456'),
('عمر', 'omar@webmail.sa', '0561112233'),
('هند', 'hind@mail.sa', '0598765432'),
('يوسف', NULL, '0533334444');