عامل LIKE في SQL

عامل LIKE في SQL

عامل LIKE في SQL

يُستخدم LIKE داخل جملة WHERE للبحث عن نمط محدد داخل عمود. وغالبًا يتم استخدامه مع رمزين يُعرفان باسم Wildcards:

  • % : يمثل صفر أو أكثر من الحروف.
  • _ : يمثل حرف واحد فقط.

مثال أساسي

إرجاع كل العملاء الذين يبدأ اسمهم بالحرف a:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a%';

الصياغة (Syntax)

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;

جدول Customers (بيانات تجريبية)

CustomerID CustomerName ContactName Address City PostalCode Country
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

الـ Wildcards

استخدام _ (حرف واحد)

إرجاع العملاء من مدينة تبدأ بـ L يليه حرف واحد، ثم nd ثم حرفين:

SELECT * FROM Customers
WHERE City LIKE 'L_nd__';

استخدام % (أي عدد من الحروف)

إرجاع العملاء الذين تحتوي مدينتهم على الحرف L:

SELECT * FROM Customers
WHERE City LIKE '%L%';

أمثلة أخرى على LIKE

يبدأ بـ

SELECT * FROM Customers
WHERE CustomerName LIKE 'La%';

ينتهي بـ

SELECT * FROM Customers
WHERE CustomerName LIKE '%a';

يحتوي على

SELECT * FROM Customers
WHERE CustomerName LIKE '%or%';

دمج الـ Wildcards

إرجاع العملاء الذين يبدأ اسمهم بـ a وطوله على الأقل 3 حروف:

SELECT * FROM Customers
WHERE CustomerName LIKE 'a__%';

إرجاع العملاء الذين يحتوي اسمهم على حرف r في الموضع الثاني:

SELECT * FROM Customers
WHERE CustomerName LIKE '_r%';

بدون Wildcard

إذا لم يُستخدم رمز مثل % أو _، فيجب أن تكون المطابقة كاملة:

SELECT * FROM Customers
WHERE Country LIKE 'Spain';

سؤال للتدريب

ما الذي يفعله عامل LIKE في SQL؟

  • ❌ يجمع السجلات بناءً على شرط
  • ❌ يُرجع أكبر قيمة في عمود
  • ✅ يبحث عن نمط محدد داخل عمود

هاشتاجات

#SQL #LIKE #Wildcards #Database #تعلم_SQL #Pattern_Search #SalemNet

تعليقات