الدرس 4 من 10

البحث بنمط

هدف الدرس

LIKE مع % و _

01

الشرح

LIKE يطابق بنمط لا بقيمة: % أيّ عدد من الأحرف ولو صفرًا، و_ حرف واحد بالضبط. فـ'05%' كل ما يبدأ بـ05 مهما طال، و'05__' أربع خانات تمامًا.

وفي SQLite لا يفرّق LIKE بين الأحرف اللاتينية الكبيرة والصغيرة: 'Khalid@Mail.SA' تطابق '%@mail.sa'. أمّا = فيفرّق، وPostgreSQL تفرّق في LIKE نفسها — فلا تبنِ على هذا إن كان الاستعلام سينتقل.

والنمط الواسع يلتقط ما لا تريد: '%mail.sa' يطابق webmail.sa أيضًا. ثبّت ما يحدّ النطاق فعلًا: '%@mail.sa'.

02

المطلوب

اعرض name وemail وphone لعملاء النطاق mail.sa الذين جوّالهم مكتمل: يبدأ بـ05 وطوله عشر خانات بالضبط.

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

5 معايير
  1. الأعمدة name و email و phone
  2. كل العناوين على النطاق mail.sa
  3. الأحرف الكبيرة لا تُسقط أحدًا
  4. الجوّال عشر خانات تبدأ بـ05
  5. لا ينقص أحد
الجداول المتاحة في هذا الدرس
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');
query.sql
المخرجاتSQLite · sql.js

جارٍ تحميل SQLite…

–/5

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

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