LIKE, IN and BETWEEN
Matching text patterns with LIKE
= only matches text exactly. To match a pattern, use LIKE with two wildcards:
%stands for any run of characters (including none)_stands for exactly one character
'S%' means "starts with S". '%a%' means "contains an a". '_o%' means "an o as the second letter".
مطابقة أنماط النص باستخدام LIKE
= يطابق النص بالضبط. لمطابقة نمط، استخدم LIKE مع رمزين غير محددين:
%يمثل أي سلسلة من الأحرف (بما في ذلك الفارغة)_يمثل حرفًا واحدًا بالضبط
SELECT name FROM student WHERE name LIKE 'S%';
'S%' تعني "يبدأ بحرف S". '%a%' تعني "يحتوي على a". '_o%' تعني "o كحرف ثاني".
Lists and ranges: IN and BETWEEN
Two more handy tests:
IN (…)matches any value in a list:WHERE form IN ('11A', '11C')BETWEEN low AND highmatches a range, including both ends:
Both are shorter than writing several ORs.
القوائم والمدى: IN و BETWEEN
اختباران آخران مفيدان:
IN (…)يطابق أي قيمة في قائمة:WHERE form IN ('11A', '11C')BETWEEN low AND highيطابق مدى، شاملًا كلا الطرفين:
SELECT name, score FROM student WHERE score BETWEEN 70 AND 90;
كلاهما أقصر من كتابة عدة ORs.
Common mistakes
- In
LIKE,%matches any text:'A%'means "starts with A". BETWEEN a AND bincludes both ends.
أخطاء شائعة
- في
LIKE،%يطابق أي نص:'A%'تعني "يبدأ بـ A". BETWEEN a AND bيشمل كلا الطرفين.
Pattern & range filters · فلترة الأنماط والمدى
LIKE / IN / BETWEEN are all WHERE — they keep matching rows. · LIKE / IN / BETWEEN جميعها WHERE — تحتفظ بالصفوف المطابقة.
Show the name of every student whose name contains the letter a. Use LIKE with %. · أظهر name لكل طالب يكون اسمه يحتوي على الحرف a. استخدم LIKE مع %.
Click Run to see the output here. · اضغط تشغيل لرؤية المخرجات هنا.
Show the name and score of students whose score is between 70 and 90 (inclusive). Use BETWEEN. · أظهر name و score للطلاب الذين درجتهم بين 70 و 90 (شاملة). استخدم BETWEEN.
Click Run to see the output here. · اضغط تشغيل لرؤية المخرجات هنا.