الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

لكلٍ منهم وظيفة لكنّ إذا اجتمعوا ماذا يحدث ؟!

مغلق
بدأه العـــنووود في 23 نوفمبر 2006 · 1 رد · 498 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخوتي لدي استفسار بسيط أرجو الرد عاجلاً عليه ألا وهو

في لغة SQL يوجد جمل منها OR,AND,NOT

لكل منهم وظيفه لكن مالذي يحدث لو اجتعموا الثلاثه هل هناك من يبطل عمل الآخر

لأنه حسب مافهمت أن OR مع NOT تصبح AND ؟؟؟

اريد اجابة وافيه واذا امكن امثله مبسطه

اختكم

العنووووود

#2

اختي الفاضله العنود

السلام عليكم ورحمة الله وبركاته

دعينا نتعرف على :

المعاملات المنطقية Logical Operators

تستخدم هذه المعملات غالبا لدمج نتائج تعبيري مقارنه او اكثر في نتيجة واحده .

طبعا لا يمكن استحدام المعملان المنطقية إلا مع تعابير تعيد بدورها قيم منطقية مثل null او False او True

بإستثناء معامل NOT فإن جميع المعاملات المنطقية تحتاج لطرفين . انظري الجدول التالي التي به جميع المعاملات المنطقية المتوفرة في الاكسيس

LogicalOP.gif

تستخدم معاملات NOT و OR و AND بشكل مكثف في تعابير الـ Access والـ SQL وتكتب بأحرف كبيره ضمن تعابير SQL عادة . اما معامل XOR فلا يستخدم الا نادرا .

من خلال الشرح السابق نستنتج التالي :

1. اي تعبير ينتهي بـ FALSE فإن بقية الجملة تكون FALSE

2. اذا كانت هناك قيمة واحده خالية في اي تعبير فأن النتيجة تكون كلها خالية من البيانات حتى لو كانت بقية الحقول بها قيم لان عبارات الاستعلام لا تقبل الا قيم كامله في جميع الحقول .

3. اذا اجتمع اكثر من معامل منطقي فإن الاستعلام دائما وابدا ينظر للاضعف وهو Null او False والسبب في ذلك حتى لا يعطي نتائج خاطئة .

4. OR مع NOT لا تعطي AND ولكنها ربما تعطي XOR

وعطفا على سؤالك من هذه العباره المستخدمه فيها ثلاث معاملات

( frist="h" and (not last="o" or not age="30

فلو تدققين في العبارة جيدا تجدين انها تتم بين طرفين فقط

الطرف الاول هو and والططرف الثاني هو ناتج ما بين القوسين .

فكيف يتعرف الاستعلام على هذه العبارة

يقوم بتحليل مابين القوسين اولا (not last="o" or not age="30) ويظهر نتيجتها بمعنى انه يقول

الحرف الاخير من الاسم ليس O او ان العمر ليس 30 وبالطبع سيخزن النتيجة في الذاكره مؤقتا للبيانات الخاصة بهذا ثم يعود الى بداية الجملة وهي ان اول حرف هو H ثم يقوم بالجمع المنطقي بين الطرف الاول ونتيجة الطرف الثاني المخزن لديه في الذاكره ومن ثم يظهر النتيجة .

طبعا لو تم تبديل اي من المعاملات في مكان الاخرى حتما ستختلف النتيجة وانا اتحدث عن المعاملات المنطقية وليس اطراف العباره فيمكنك وضع الطرف الاول مكان الطرف الثاني لا يوجد مشكله وستظهر النتائج متشابهه ولكن الفرق عند تبديل المعاملات فيما بينها وبإمكانك التجربه

هذا الموضوع مغلق.

مواضيع مشابهة