recent
أخبار ساخنة

العبارة OR في SQL

الصفحة الرئيسية

 

العبارة المنطقية OR في SQL

يمكن دمج عبارة WHERE مع العبارة المنطقية OR. يتم استخدام العملية OR لتصفية السجلات بناءً على أكثر من شرط واحد. تقوم العبارة المنطقية OR بعرض سجلاً إذا كان أي من تلك الشروط التي تفصل بينها العبارة OR تتحقق (أي تساوي TRUE). باختصار يمكن القول إنه يكفي أن يتحقق شرط واحد لإظهار السجل المطلوب في SQLعند استخدام الأمر المنطقي OR.

بناء جملة OR

الشكل العام لاستخدام وبناء أمر OR في لغة SQL (أي OR syntax) تتم كما يلي:

SELECT Column1, Column2, ... 

FROM table_name;

WHERE condition1 OR condition2 OR condition3 …;

 

حيث يمثل العمود الأول Column 1، والعمود الثاني Column 2أسماء حقول الجدول الذي تريد تحديد واستخراج البيانات منها عند تحقق أي من الشرط المحدد condition1 أو الشرط condition2 أو الشرط الثالث condition3 أو جميعها وهكذا.

ملاحظة: لإظهار السجل المطلوب عند استخدام الأمر OR، يجب أن تتحقق أي من تلك الشروطالواردة في القسم WHERE، وفي حال عدم تحقق أي شرط، فلن يتم اظهار تلك السجلات المطلوب فلترتها.

مثال على استخدام أمر OR في SQL

الجدول التالي يوضح مجموعة مختارة من جدول "الزبائن" Customers

Country

City

Address

CustomerName

CustomerID

UK

London

120 Hanover Sq.

John

100

USA

New York

109 E 16th St

Marry

200

Jordan

Amman

Al-Mutanabbi St.

Ahmad

300

USA

New York

110 E 20th St

Ali

400

Egypt

Cairo

El Tahrir St

Ahmad

500

USA

New York

109 E 16th St

Sari

600

Egypt

Cairo

El Tahrir St

Adel

700

Jordan

Amman

Al-Mutanabbi St.

Omar

800

Egypt

Alexandria

Al Awleyaa St

Ahmad

900

 

مثال 1: تحديد وإظهار حقول محددة ومختارة باستخدام الأمر المنطقي ORأي ضمن أكثر من شرط معين

فرضاً أننا أردنا اظهار قائمة باسم "اسم الزبون" CustomerNameالذي يسكن في جمهورية مصر العربية أو يسكن في المملكة الأردنية Jordanأو كلاهما. تحدد جملة SQLالتالية عمود "CustomerName" وتظهر جميع أسماء الزبائن التي تنطبق عليهم إحدى الشرطين السابقين، (أي أولئك الأسماء الذين يسكنون إما في دولة "مصر" Egypt أو يسكنون في "المملكة الأردنية" Jordan) من الجدول "Customers":

SELECT CustomerName FROM Customers;

WHERE Country =’Egypt’ OR Country =’Jordan’;

ليظهر الجدول التالي:

CustomerName

Ahmad

Ahmad

Adel

Omar

Ahmad

 

مثال 2: تحديد وإظهار جميع الحقول (الأعمدة) التي ينطبق عليها أكثر من شرط محدد باستخدام الأمر OR

فرضاً أننا أردنا اظهار جميع سجلات الزبائن الذين يسكنون في دولة مصر العربية Egypt أو في المملكة الأردنية الهاشمية Jordan(أو كلاهما). تقوم عبارة SQLالتالية بتحديد وإظهار جميع الأعمدة (أي الحقول) من جدول "الزبائن" Customersالتي ينطبق عليها تلك الشروط كما يلي:

SELECT * FROM Customers;

WHERE Country =’Egypt’ OR Country =’Jordan’;

 

الوقوع في الخطأ عند استخدام الأمر OR في SQL

عند التعامل مع الأمر المنطقي OR في قواعد البيانات SQL، يجب مراعاة عدم الوقوع في خطأ إظهار بعض البيانات غير المرغوب بها عند الاستعلام عن بيانات معينة. ويحصل مثل هذا الخطأ بسبب أن الأمر المنطقي OR يقوم بإظهار السجلات عند تحقق شرط واحد على الأقل. لذلك، يجي الحذر عند استعمال الأمر المنطقي OR عند تصفية البيانات المطلوبة من قواعد بيانات SQL. فمثلاً عند استخدام الكود البرمجي التالي في SQL للجدول أعلاه:

SELECT * FROM Customers;

WHERE Country =’Egypt’ OR Country =’Jordan’ OR City =’London’;

فلن يتم اظهار السجلات المطلوبة ضمن تلك الشروط السابقة (في مثال 2) فقط. وإنما سيقوم بإرجاع وإظهار جميع السجلات التي فيها كل سجل يشمل على معلومات الزبون الذي يسكن في جمهورية "مصر" Egypt أو الذي يسكن في "المملكة الأردنية الهاشمية" Jordan أو يسكن مدينة "لندن" London أو جميعها. باختصار سيتم اظهار سجل إضافي (باللون الأخضر) كما يلي؛ أي سجل اسم الشخص الذي يسكن لندن.

Country

City

Address

CustomerName

CustomerID

UK

London

120 Hanover Sq.

John

100

Jordan

Amman

Al-Mutanabbi St.

Ahmad

300

Egypt

Cairo

El Tahrir St

Ahmad

500

Egypt

Cairo

El Tahrir St

Adel

700

Jordan

Amman

Al-Mutanabbi St.

Omar

800

Egypt

Alexandria

Al Awleyaa St

Ahmad

900

 

author-img
العلم للجميع

تعليقات

ليست هناك تعليقات
إرسال تعليق
    google-playkhamsatmostaqltradent