هذه إحدى مجموعات المقالات التي تدور حول Access SQL. تتناول هذه المقالة كيفية كتابة عبارة WHERE واستخدام أمثلة لتوضيح تقنيات مختلفة يمكنك استخدامها عند كتابتها.
في جملة SQL، تحدد عبارة WHERE المعايير التي يجب أن تستوفيها قيم الحقل للسجلات التي تحتوي على القيم المطلوب تضمينها في نتائج الاستعلام.
للحصول على نظرة عامة حول Access SQL، راجع المقالة Access SQL: المفاهيم الأساسية والمصطلحات وبناء الجملة.
في هذه المقالة
تقييد النتائج باستخدام معايير
عندما تريد استخدام البيانات لتقييد عدد السجلات الناتجة عن استعلام ما، يمكنك استخدام معايير. يعتبر معيار الاستعلام مماثلاً للصيغة، فهو عبارة عن سلسلة قد تحتوي على مراجع الحقول وعوامل التشغيل والثوابت. معايير الاستعلام عبارة عن نوع تعبير.
يعرض الجدول التالي بعض نماذج المعايير ويشرح كيفية استخدامها.
المعايير |
الوصف |
>25 و<50 |
ينطبق هذا المعيار على حقول الأرقام مثل الأسعار أو الوحدات في المخزن. ويتضمن السجلات التي يحتوي فيها حقل الأسعار أو الوحدات في المخزن على قيمة أكبر من 25 وأقل من 50 فقط. |
DateDiff («yyyy», [BirthDate], Date()) > 30 |
ينطبق هذا المعيار على حقل التاريخ/الوقت مثل تاريخ الميلاد. يتم تضمين فقط السجلات التي يكون فيها عدد السنوات بين تاريخ ميلاد شخص ما وتاريخ اليوم أكبر من 30 فقط في نتيجة الاستعلام. |
Is Null |
ينطبق هذا المعيار على أي نوع حقل لعرض السجلات التي تكون فيها قيمة الحقل خالية. |
كما هو موضح في الجدول السابق، قد تبدو المعايير مختلفة بدرجة كبيرة عن بعضها وذلك وفقاً لنوع بيانات الحقل الذي تنطبق عليه المعايير وتبعاً لمتطلباتك الخاصة. تعتبر بعض المعايير بسيطة، كما أنها تستخدم عوامل تشغيل وثوابت أساسية. ويمكن أن يكون بعضها معقداً وتستخدم دالات وعوامل تشغيل خاصة وتتضمن مراجع حقول.
هام: إذا تم استخدام حقل بدالة تجميعية، لا يمكنك تحديد المعايير الخاصة بهذا الحقل في عبارة WHERE. بدلاً من ذلك، يمكنك استخدام عبارة HAVING لتحديد معايير للحقول المجمعة. لمزيد من المعلومات، راجع المقالات Access SQL: المفاهيم الأساسية والكلمات وبناء جملة و عبارة HAVING.
بناء جملة عبارة WHERE
استخدم معايير الاستعلام في عبارة WHERE لجملة SELECT.
تحتوي عبارة WHERE على بناء الجملة الأساسي التالي:
WHERE field = criterion
على سبيل المثال، افترض أنك تريد رقم الهاتف من أحد العملاء، ولكن يمكنك فقط تذكر أن اسم عائلة العميل وهو Bagel. بدلاً من النظر إلى كل أرقام الهواتف الموجودة في قاعدة البيانات، يمكنك استخدام عبارة WHERE لتقييد النتائج وجعلها أسهل للبحث عن رقم الهاتف الذي تريده. إذا افترضنا أنه تم تخزين أسماء العائلة في حقل يسمى اسم العائلة، تظهر عبارة WHERE الخاص بك كما يلي:
WHERE [LastName]='Bagel'
ملاحظة: لا يجب إسناد المعايير في عبارة WHERE على تكافؤ القيم. يمكن استخدام عوامل تشغيل مقارنة أخرى، مثل أكبر من (>) أو أقل من (<). على سبيل المثال، WHERE [Price]>100.
استخدام عبارة WHERE لدمج مصادر البيانات
قد ترغب في بعض الأحيان في تجميع مصادر البيانات على أساس الحقول التي تحتوي على بيانات متطابقة ولكنها تحتوي على أنواع بيانات مختلفة. على سبيل المثال، قد يحتوي حقل في جدول واحد على نوع بيانات "رقم"، وترغب في مقارنة ذلك الحقل بحقل آخر في جدول آخر يحتوي على نوع بيانات "نص".
لا يمكنك إنشاء صلة بين الحقول التي تحتوي على أنواع بيانات مختلفة. لدمج البيانات من مصدري بيانات استناداً إلى القيم الموجودة في الحقول التي تحتوي على أنواع بيانات مختلفة، يمكنك إنشاء عبارة WHERE الذي يستخدم حقلاً واحداً كمعيار لحقل آخر، باستخدام الكلمة الأساسية LIKE.
على سبيل المثال، بفرض أنك تريد استخدام البيانات من الجدول 1 والجدول 2، ولكن فقط عندما تتطابق البيانات الموجودة في الحقل 1 (حقل نصي في الجدول 1) مع البيانات الموجودة في الحقل 2 (حقل رقمي في الجدول 2). قد تتشابه عبارة WHERE مع ما يلي:
WHERE field1 LIKE field2
لمزيد من المعلومات حول كيفية إنشاء معايير لاستخدامها في عبارة WHERE، راجع المقالة أمثلة على معايير الاستعلامات.