:g:4:
:sleep:
تعلمنا بأخر درسين كيف ندخل ونستخرج البيانات.
لكن ربما تكون قد تسائلت, انه كيف يمكننى استخراج سجل او اكثر داخل جدول ما.
(وليس كل السجلات داخل الجدول كما رأينا فيما سبق)
او كيف ابحث عن حقل/حقول بناء على معايير البحث التى اريدها؟
هنا يأتى دور مايسمى Where clause او مشروطة WHERE
وصيغة كتابة هذه المشروطة مع الأمر SELECT
تكون بالشكل التالى
كود:
- الكود:
-
SELECT colum_name FROM table_name WHERE conditions
حيث conditions هى معايير التوافق التى سيتم استخراج البيانات التى تتوافق معها.
والمشروطة يوجد بها عدة عوامل مقارنة نستطيع استخدامها.
وقبل ان ادخل فى امثلة, سوف اوضح معنى هذه العوامل.
- = العامل = بمعنى يساوى لا اظنه يحتاج لشرح
- < معناه اصغر من
- > معناه اكبر من
- <= اصغر من او يساوى
- >= اكبر من او يساوى
- كل من != او <> معناه لا يساوى
- IS NOT NULL تعنى يجب ان يكون به قيمة ما
- IS NULL تعنى انه يجب ان لا يكون به قيمة معروفة
- IN يوضع بعدها قوسين, ويوضع داخل القوسين عدة قيم يفصل بين كل قيمة والأخرة علامة فاصلة, وتعنى ان يكون داخل احد هذه القيم
- BETWEEN يوضع بعدها قوسين, ويوضع داخل القوسين الحد الأدنى والحد الأقصى, ليتم مطابقة كل ماهو بين الحد الأدنى والأقصى (مقارنة بالأرقام)
- NOT BETWEEN عكس السابقة, يجب ان لا يكون بين الحد الأدنى والأقصى.
- OR او || تعنى تحقق احد الطرفين اما هذا او ذاك.
- AND او && تعنى شرط تحقق الطرفين معا.
- NOT او ! تعنى ليس, يعنى غير متحقق.
بعد هذه التعريفة النظرية البسيطة يمكننا القاء نظرة على الأمثلة.
لنفرض ان لدينا جدول ما, يحتوى على بيانات البضائع مثلا. مثل اسم البضاعة, وبلد صنعها واسعارها وما الى ذلك. ونريد ان نستخرج من هذا الجدول اسم كل سلعة, لكن بشرط ان يكون سعر هذه السلعة ليس اكثر من 100
(مثال)
لنفرض ان هذا الجدول يسمى items مثلا.
لنطبق هذا البحث السريع
كود:
- الكود:
-
SELECT item_name FROM `items` WHERE item_price <= 100
بهذا الشكل, سوف نستخرج اسامى السلع (item_name) فقط فى حالة ان سعرها (item_price) اقل من او يساوى 100
طيب ماذا اذا اردنا ان يكون السعر فى حدود من 30 الى 70 فقط؟
كود:
- الكود:
-
SELECT item_name FROM `items` WHERE item_price BETWEEN(30, 70)
او يمكن الوصل لنفس النتيجة بالشكل التالى
كود:
- الكود:
-
SELECT item_name FROM `items` WHERE (item_price >= 30) AND (item_price <= 70)
لاحظ كيف تعاملنا مع اكثر من معيار للبحث.
ماذا اذا اردنا فقط استخراج السلع التى اسعارها هى 30 او 70 او 100 فقط؟
كود:
- الكود:
-
SELECT item_name FROM `items` WHERE item_price IN(30,70,100)
اتمنى تكون كل الأمثلة واضحة وبسيطة بإذن الله.
كما اريد ان الفت نظرك ايضا.
انه يمكنك استخدام العوامل الحسابية مثل - و + و / و *
اتمنى يكون الدرس واضح بإذن الله.
واراكم على خير بالدرس القادم ان شاء الله.
منقول
لتعم الفائدة