recent
أخبار ساخنة

العبارة AND في SQL

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

 

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

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

بناء جملة AND

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

SELECT Column1, Column2, ... 

FROM table_name;

WHERE condition1 AND condition2 AND condition3 …;

 

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

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

مثال على استخدام أمر AND في 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: تحديد وإظهار حقول محددة ومختارة باستخدام الأمر المنطقي ANDأي ضمن أكثر من شرط معين

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

SELECT CustomerID FROM Customers;

WHERE Country =’Egypt’ AND CustomerName = ’Ahmad’;

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

CustomerID

500

900

 

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

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

SELECT * FROM Customers;

WHERE CustomerName = ’Ahmad’ AND Country =’Egypt’ AND City =’Cairo’;

 

تعارض غير مقصود عند استخدام الأمر AND في SQL

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

SELECT CustomerName FROM Customers;

WHERE Country =’Egypt’ AND Country =’Jordan’;

فلن يتم اظهار السجل المطلوب ضمن تلك الشروط المتعارضة منطقياً. فنحن بصدد طلب ارجاع وإظهار جميع السجلات التي فيها كل سجل يشمل على اسم الزبون الذي يسكن في جمهورية "مصر" Egypt وبنفس الوقت يسكن في "المملكة الأردنية الهاشمية" Jordan وهذا غير ممكن بحسب المنطق. باختصار لا يمكن منطقياً أن يشمل الحقل الخاص بالسجل الواحد على قيمتين مختلفتين بنفس الوقت.

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

تعليقات

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