في لغة SQL، يُستخدم المعامل OR
في عبارة WHERE
لتحديد سجلات تحقق أحد الشروط المحددة على الأقل. بمعنى آخر، يتم استرجاع السجلات إذا كان الشرط الأول أو الشرط الثاني (أو أي شرط آخر مُستخدم مع OR
) صحيحًا.
الصيغة:
SELECT column1, column2, ...FROM table_nameWHERE condition1 OR condition2 OR condition3 ...;
SELECT column1, column2, ...
: تحديد الأعمدة التي سيتم استرجاعها.FROM table_name
: تحديد الجدول الذي سيتم البحث فيه.WHERE
: تحديد الشروط التي يجب أن تحققها السجلات.condition1, condition2, condition3, ...
: الشروط التي سيتم فحصها باستخدامOR
.
مثال:
لنفترض أن لدينا جدولًا باسم "Customers" يحتوي على الأعمدة التالية:
CustomerID
(رقم تعريف العميل)CustomerName
(اسم العميل)Country
(البلد)City
(المدينة)
نريد استرجاع جميع العملاء من "USA" أو من "Canada". نستخدم الاستعلام التالي:
SELECT *FROM CustomersWHERE Country = 'USA' OR Country = 'Canada';
سيقوم هذا الاستعلام بإرجاع جميع صفوف العملاء الذين يعيشون في الولايات المتحدة الأمريكية أو كندا.
مثال آخر مع شروط متعددة:
لنفترض أننا نريد استرجاع جميع العملاء الذين يعيشون في "London" أو "Paris" أو لديهم CustomerID
أكبر من 10. نستخدم الاستعلام التالي:
SELECT *FROM CustomersWHERE City = 'London' OR City = 'Paris' OR CustomerID > 10;
سيقوم هذا الاستعلام بإرجاع أي عميل يحقق أحد هذه الشروط الثلاثة:
- يعيش في لندن.
- يعيش في باريس.
- رقم تعريفه أكبر من 10.
الأولوية مع معاملات أخرى:
عند استخدام OR
مع معاملات أخرى مثل AND
، يجب الانتباه إلى أولوية التنفيذ. AND
لها أولوية أعلى من OR
. لتوضيح الأولوية، يُمكن استخدام الأقواس ()
.
مثال على الأولوية:
SELECT *FROM CustomersWHERE (Country = 'USA' AND City = 'New York') OR Country = 'Canada';
في هذا المثال، سيتم استرجاع العملاء الذين:
- يعيشون في الولايات المتحدة الأمريكية وفي مدينة نيويورك.
- أو يعيشون في كندا.
باستخدام الأقواس، نضمن أن شرط "الولايات المتحدة الأمريكية ونيويورك" يتم تقييمه كوحدة واحدة قبل تطبيق OR
مع شرط "كندا". بدون الأقواس، سيتم تفسير الاستعلام بشكل مختلف، وقد لا يُعطي النتائج المطلوبة.
الخلاصة:
يُعتبر المعامل OR
أداة قوية في SQL لاسترجاع البيانات التي تحقق أحد الشروط المتعددة. فهم كيفية استخدامه بشكل صحيح، خاصةً مع معاملات أخرى مثل AND
والأقواس، ضروري لكتابة استعلامات SQL فعالة ودقيقة.