سلسلة دروس SQL| عامل LIKE
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
عامل LIKE في SQL
يُستخدم عامل LIKE مع عبارة WHERE للبحث عن نمط محدَّد في عمود ما.
ويوجد علامتين تُستخدم جنبًا إلى جنب مع عامل LIKE:
- % علامة النسبة المئوية وتُمثّل الصفر أو الواحد أو عدة أحرف.
- _ علامة الخط السفلي ويُمثّل حرفًا واحدًا
ملاحظة: يستخدم ميكروسوفت Access علامة الاستفهام ? بدلًا من الخط السفلي _
ويمكن استخدام العلامتين معًا بنفس الوقت!
استخدام LIKE
1
2
3
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
معلومة: يمكنك أيضًا جمع أي عدد من الشروط باستخدام عوامل AND أو OR.
وهنا بعض الأمثلة تُظهر عوامل LIKE مختلفة مع علامات %
و _
:
LIKE عامل | الوصف |
---|---|
WHERE CustomerName LIKE ‘a%’ | للبحث عن أي قيمة تبدأ بالحرف “a” |
WHERE CustomerName LIKE ‘%a’ | للبحث عن أي قيمة تنتهي بالحرف “a” |
WHERE CustomerName LIKE ‘%or%’ | للبحث عن أي قيمة تحوي “or” في أي موضع |
WHERE CustomerName LIKE ‘_r%’ | للبحث عن أي قيمة تحوي “r” في الموضع الثاني |
WHERE CustomerName LIKE ‘a_%_%’ | للبحث عن أي قيمة تحوي “a” وهذه القيمة هي على الأقل ذات ثلاث أحرف |
WHERE ContactName LIKE ‘a%o’ | للبحث عن أي قيمة تبدأ بـ “a” وتنتهي بـ “o” |
استعراض قاعدة البيانات
في الأسفل تحديد من جدول الزبائن Customers في قاعدة البيانات النموذجية Northwind
أمثلة على LIKE في SQL
عبارة SQL التالية تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName يبدأ بحرف a
1
2
SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';
وعبارة SQL التالية تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName ينتهي بحرف a
1
2
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
والعبارة التالية تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName يحوي “or” في أي موضع:
1
2
SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';
والعبارة التالية من SQL تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName يحوي الحرف “r” في الموضع الثاني
1
2
SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';
عبارة SQL التالية تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName يبدأ بالحرف “a” ويتكون على الأقل من ثلاث أحرف
1
2
SELECT * FROM Customers
WHERE CustomerName LIKE 'a_%_%';
عبارة SQL التالية تُحدِّد جميع الزبائن customers حيث اسم جهة الاتصال ContactName يبدأ بـ “a” وينتهي بـ “o”
1
2
SELECT * FROM Customers
WHERE ContactName LIKE 'a%o';
والعبارة التالية تُحدِّد جميع الزبائن customers حيث اسم الزبون CustomerName لا يبدأ بالحرف “a”
1
2
SELECT * FROM Customers
WHERE CustomerName NOT LIKE 'a%';
التالي: الرموز البديلة