🔍 اكتشف قوة Wildcards في SQL للبحث الذكي!

اليوم سنتعلم واحدة من أقوى الميزات في SQL التي تمكنك من البحث بنمط معين داخل البيانات النصية. Wildcards أو "محارف البدل" هي رموز خاصة تساعدك في البحث عن أنماط نصية بدلاً من القيم الدقيقة.


💡 ما هي Wildcards في SQL؟

Wildcards هي رموز خاصة تستخدم مع عامل LIKE في SQL للبحث عن أنماط محددة في الأعمدة النصية. بدلاً من البحث عن قيمة مطابقة تماماً، تسمح لك بالبحث باستخدام أنماط جزئية.

-- مثال بسيط للبحث باستخدام LIKE
SELECT * FROM employees 
WHERE name LIKE 'Ahmed%';
-- هذا سيبحث عن جميع الأسماء التي تبدأ بـ "Ahmed"

🎯 الرموز الأساسية للWildcards

هناك عدة رموز رئيسية يجب أن تعرفها:

1. النسبة المئوية (%)
تمثل صفر، واحد، أو أكثر من حرف واحد

2. الشرطة السفلية (_)
تمثل حرف واحد فقط بالضبط

3. الأقواس المربعة ([])
تمثل أي حرف واحد ضمن المجموعة المحددة

-- البحث عن الأسماء التي تبدأ بـ "M"
SELECT * FROM customers 
WHERE customer_name LIKE 'M%';

-- البحث عن الأسماء المكونة من 5 أحرف تبدأ بـ "A"
SELECT * FROM customers 
WHERE customer_name LIKE 'A____';

📊 أمثلة عملية على استخدام %

النسبة المئوية هي الأكثر استخداماً في البحث النصي:

-- البحث عن كل العملاء الذين أسماؤهم تنتهي بـ "son"
SELECT * FROM customers 
WHERE name LIKE '%son';

-- البحث عن المنتجات التي تحتوي كلمة "phone" في أي مكان
SELECT * FROM products 
WHERE product_name LIKE '%phone%';

-- البحث عن المدن التي تبدأ بـ "New" وتنتهي بأي شيء
SELECT * FROM cities 
WHERE city_name LIKE 'New%';

🔤 أمثلة على استخدام _

الشرطة السفلية مفيدة عندما تعرف عدد الأحرف بالضبط:

-- البحث عن أسماء مكونة من 3 أحرف تبدأ بـ "J"
SELECT * FROM users 
WHERE username LIKE 'J__';

-- البحث عن رموز منتجات تبدأ بـ "A" وتنتهي بـ "5"
SELECT * FROM products 
WHERE product_code LIKE 'A__5';

🎛️ استخدام الأقواس المربعة []

الأقواس المربعة تتيح لك تحديد مجموعة من الأحرف المحتملة:

-- البحث عن أسماء تبدأ بـ "A" أو "B" أو "C"
SELECT * FROM employees 
WHERE name LIKE '[ABC]%';

-- البحث عن أرقام هواتف تبدأ بـ 5 أو 6 أو 7
SELECT * FROM contacts 
WHERE phone LIKE '[567]%';

-- البحث عن أسماء لا تبدأ بحروف من A إلى D
SELECT * FROM customers 
WHERE name LIKE '[^A-D]%';

⚠️ نصائح مهمة عند استخدام Wildcards

  1. الأداء: الاستعلامات باستخدام Wildcards قد تكون أبطأ من الاستعلامات العادية
  2. الحساسية للحالة: تعتمد على إعدادات قاعدة البيانات
  3. استخدام NOT LIKE: للبحث عن القيم التي لا تطابق النمط
-- البحث عن العملاء الذين لا تبدأ أسماؤهم بـ "Test"
SELECT * FROM customers 
WHERE name NOT LIKE 'Test%';

🏆 الخلاصة

Wildcards في SQL تمنحك مرونة كبيرة في البحث النصي داخل قواعد البيانات. من خلال إتقان استخدام % و _ و []، يمكنك كتابة استعلامات أكثر قوة وذكاءً للعثور على البيانات التي تبحث عنها بسهولة.