SQL in Where (and,or,not)
الكاتب: Mr.Aziz
تاريخ النشر: 2021-06-20 20:24:31
مساءكم الخير..
أن شاءالله تكونو بأحسن حال.
اليوم راح اشرح عن Where clause هي تعتبر شرط او شروط (conditions) ليعرض لنا الاعمده المحدده فقط.
طبعآ نقدر نستخدمها مع and, or, not او بدونها ممكن يكون مره وحده فقط.
مثال:
لو عندي بيانات كثيره عن customers مع سيارات الخاصة بهم و مافي وقت اقعد ابحث بشكل يدوي ولازم نستخدم Where الي هي شروط عشان نقدر نوصل النتيجة بأسرع وقت
المهم اقدر احط شرط من شروط تظهر لي فقط معلومات عن سياره معينه مثلآ ابي customers الى يمتلكون فقط MAZDA او CAMRY.
راح يعرض لي بدون عرض سيارات اخرى
لما نعرض النتيجة تطلع لنا كذا مع ملاحظة استخدمنا OR:
طلع فقط شخص واحد يمتلك مازدا و الكامري غير موجود عشان كذا ماطلعت لنا وراح اشرح السبب ليه.
الى اخذ كورسات برمجة اكيد راح يكون عارف ايش هو Table truth و الى مااخذ راح اشرح ايش الفرق بين OR و and
AND: أن يكون شرطين صحيحتين يعني شرط الاول يكون True و الشرط الثاني يكون True عشان تطلع لك النتيجة صحيحة True. يعني لو احد من شرطين كان False والثاني True راح تكون نتيجة خطأ.
هنا مثال اخر: شخص أسمه أحمد ياخذ كورسين الى هو كورس اسمه Program1 و كورس ثاني اسمه math و لازم أحمد ينجح بالاختبار نهائي في كورس Program1 و كورس math عشان ينجح.
طيب ايش راح يصير لو رسب في Math او Program1 او كلهم رسب فيهم؟ اكيد ماراح ينجح وراح يعيد المواد مره ثانيه.
هذي فكره AND اذا كان شرطين يتحقق بشكل صحيح راح تكون نتيجة صحيحة.
OR: أن يكون شرطين او احد شرطين صح راح تكون نتيجة صحيحة. يعني لو شرط الاول خطأ و شرط الثاني صح راح تكون نتيجة صحيحة. اذا كان شرط الاول صح و شرط الثاني صح راح تكون صحيحة.
بعطيكم مثال:خلينا نختار شخص اسمه خالد و خالد يبي يذاكر الاختبار النهائي ولازم يشرب شي يصحصح :). يقدر يختار شاهي او قهوه عادي راح تمشي معاه. يعني اذا اختار شاهي راح يذاكر أو اذا اختار قهوه عادي نفس الشئ اهم شي يذاكر.
نبدء نشرح لكم كيف تستخدمون Where و معاه امثله.
قبل مانبدء احنا راح نستخدم هذا الجدولين customers و cars.
1-Where:
الدرس السابق تكلمنا كيف نكتب الاستعلام الاساسي عشان نجلب المعلومات ولكن هالمره راح نضيف where معاها.
راح تكون هكذا:
select * from tablename Where condition |
بعد كلمة where الى نضع فيه الشرط او الشروط تمام.
خلينا نعمل عليه مثال من الجدول الى فوق.
انا ابي اجلب المعلومات ولكن بشرط يكون تحت أسم Customer الى هو Aziz
راح نكتب بهالشكل:
select * from customer natural join cars where NAME = 'Aziz' ; |
ملاحظة: كلمة natural join الى هو دمج جدولين مع بعض بشكل طبيعي راح اشرح لكم بالدرس القادم عن joins :).
النتيجة راح تكون هكذا:
هنا النتيجة ظهرت لنا بأظهار كل معلومات customer بأسم Aziz فقط واسماء السيارات تابعه له.
و كتبنا بالاستعلام بهذا الطريقة
where NAME = 'Aziz' |
تعني بالشرط أجلب لي معلومات تكون تحت أسم Aziz فقط لاغير.
2- AND:
هالمره راح نستخدم AND تعني شرطين يجب ان يكون صحيحتان.
لما نجي نستخدم مثال بالجدول راح استخدم نوع سياره تكون Mclaren و سنة صناعه سياره تكون اكبر من 2015
مثل مااحنا نشوف بالجدول كل سيارتين ذولي متواجدين وخلينا نسوي تجربه و نشوف النتيجة:
مثل ماوضحت النتيجة: عملنا شرطين
ان يكون سياره من النوع Mclaren وسنة الصناعه تكون اعلى من 2015 بعنى شرطين صحيحين لانه البيانات موجوده.
طيب لو احد منهم غير صحيح ايش بتكون؟
خلينا نعدل الشرط السنة يكون اعلى من 2018 و نخلي نفس نوع السياره ونشوف النتيجة:
نلاحظ هنا بعد تعديل الشرط السنة الى 2018 يعني بشرط يكون اكبر من.
هنا النتيجة: نوع السياره True لانه متواجده في قاعده بيانات ولكن السنة False يعني نتيجة خاطئة ويظهر لنا خطأ الى هو no data found
3- OR:
أن يكون احد شرطين صحيحتان ولايهم كلهم صحيح يعني شرط False و شرط ثاني True يعني نتيجة صحيحة.
خلونا ناخذ مثال نوع السياره بتكون Lamborgini و سنة صناعه بتكون اقل من 2000
هنا مثال:
بعد ماوضعنا الشرط OR راح يصير النتيجة: شرط الاول سياره نوعها Lamborgini وشرط ثاني ان يكون سنة الصناعتها اقل من 2000 يعني من 2000 وتحت. ولكن سياره هي اصلآ 2000
يعني شرط الاول True و الشرط الثاني FALSE يعني النتيجة صحيحة مثل ماظهرت لكم.
حتى لو عكسناها بتطلع نفس النتيجة:
وضعنا اسم السياره كامري و الاسم هذا النوع غير موجود بالقاعده بيانات.
وسنه الصناعه تكون اكبر من 2000 وكثير من سيارات موجوده صناعتها اكثر من 2000
يعني نوع السياره False و سنة الصناعه True أي نتيجة تكون صحيحة.
حتى لو كل شرطين صحيحتان تضبط مافي اي مشكلة.
4- NOT:
تعني أظهر لي كل النتائج ألا هذا النتيجة هذي لاتظهر لي.
مثال بناخذ من الجدول:
هنا النتيجة: أظهرت لي كل انواع سيارات واسماء المالك بجميع الوانها الا الاسود :).
وهنا انتهينا من الشرح وأعتذر عن طول الشرح بس حاب اوصل المعلومات عن where و مع شروطها.
بعد ماشرحنا الحين فهمنا ايش هو Where و الشروط and, or, NOT
أشوفكم على خير...