الانتقال إلى المحتوى

فتافيت - الفتفوتة السادسة


khaledmega

Recommended Posts

الفتفوتة السادسة



خالد :- السلام عليكم ؛ النهاردة – اليوم – ان شاء الله هنتكلم عن فلترة البيانات المرتجعة من قواعد البيانات ؛ وواضح من كلمة فلترة ان فى مواضيع هتتفتح بشكل مختلف عن اللى احنا نعرفه ؛ فعلى مدار الفتافيت اللي فاتت كنا بنتعلم ازاى نستعلم عن البيانات بشكل عام لكن النهاردة هنتعلم ازاى نرجع داتا محددة ومشروطة ؛ والشروط دي انت اللي بتحددها بنفسك كمان هنتعلم الصيغة لكل شرط مش بس كده ده كمان امتى احتاج الشرط
طالب :- ده الموضوع كبير بقى !!
خالد :- ابدا ؛ الموضوع بسيط واكتر من كلمة شيق ؛ لكن عايزك تفهم ان النهاردة هنبدء نتعلم اساسيات الالغاز فى الاوراكل وهديك مفاتيح الالغاز وانت وشاطرتك ؛ اتفقنا ؟
طالب :- اتفقنا
" Where Conditionخالد :- قلك فى انواع من الفلترة وبالغة الاوراكل اسمها "
وانواع الشروط الشائعة هي :-
6 حالات شرطية
يساوى =
اكبر من >
اصغر من <
اكبر من او يساوى >=
اصغر من او يساوى <=
لا يساوى <> ولها شكل اخر وهو !=
وتعالي نفهم الامثلة ببساطة شوية ؛ فلو مثلا انت عايز تعرض بيانات الناس اللي بياخدوا مرتبات تساوى 3000 جنيه فقط ؛ فى الحالة دي بيكون الكود كالتالي :

SELECT * FROM EMP WHERE SAL = 3000 ;


طيب لو عايز اللي بياخدو 3000 او اكتر ؟


SELECT * FROM EMP WHERE SAL  >= 3000 ;



وهنا هيعرض ابتداء من 3000 فيما يزيد ؛ طيب ولو عايز الناس اللى بتاخد 3000 او اقل ؟

SELECT * FROM EMP WHERE SAL < = 3000 ;



وهنا هيعرض ابتداء من 3000 فيما اقل ؛ طب ولو انت عايز الناس اللى بتاخد اكتر من 3000 ؟


SELECT * FROM EMP WHERE SAL  > 3000 ;



بس هنا خد بالك بقى لان الاوراكل مش هيعرض الناس اللى بتاخد 3000 ولكن هيعرض اللى اكتر من 3000 وكأن البحث والعرض سوف يبدء من 3001 ودى نقطة مهمة جدا ممكن تعمل مشاكل كتير وهي انك تتوقع انه هيعرض 3000 ضمن البيانات المرتجعة .
طالب :- طب افرض اني عايز اعرض معاهم الناس اللى بتاخد 3000 ؟
خالد :- ما احنا قلنا قبل كده ان فى الحالة دى هتستخدم اكبر من او يساوى كالتالي :-


SELECT * FROM EMP WHERE SAL  >= 3000 ;



طالب :- تمام انا كده فهمت .
خالد :- يارب ديما ؛ تعالي نكمل افرض انك عايز اللي اقل من 3000 ؟


SELECT * FROM EMP WHERE SAL  < 3000 ;



وبرضه خد بالك انه مش هيعرض البيانات وضمنها 3000 انما اللى اقل من 3000 وده معناه ان البحث والعرض هيبدء من 2999 ؛ طيب ولو عايز تعرض بيانات كل الناس ولكن بشرط ان مرتبهم لا يساوى 3000 فبيكون الكود كالتالي :

SELECT * FROM EMP WHERE SAL  <> 3000 ;



دى الحالات اللى ممكن تتعرض ليها فى عملية الشرط لكن فى حاجة لازم تاخد بالك منها ؛ لو تلاحظ هتلاقى ان كل الشروط اللى فاتت كانت مقترنة بأرقام يعني بيقبض مرتب كذا والمرتب طبعا بيكون ارقام ؛ طب افرض كانت حروف او تواريخ ؟
طالب :- لا لا استني ؛ يعني ايه حروف او تواريخ ؟
خالد :- يعني افرض عايز أفلتر بيانات بناء على أسم وظيفة محددة او تاريخ ميلاد او تاريخ صرف شيكات مثلا ؟
بص جميع الحالات ليها تعامل خاص مع الحروف والتواريخ ؛ فمثلا لو انا عايز اعرف بيانات اللي بيشتغلوا فى وظيفة مدير بيكون الكود كالتالي :


SELECT * FROM EMP WHERE JOB = ‘MANAGER’  ;



لاحظ انك بتحط – بتضع – الوظيفة بين سنجل كوتيشن وده معناه ان اى حاجة حروف زى وظيفة او اسم وظيفة بتتحط بين سنجل كوتيشن ؛ مش بس كده ده كمان التواريخ برضه بتتحط بين سنجل كوتيشن ودي قاعدة ثابتة للحروف والتواريخ ؛ لكن هل المعامل يساوى ينفع فى كل الحالات ؟ لا بمعني لو انت الشرط بتاعك اسم او ظيفة هنا بس هتقدر تستخدم يساوى ومش هتقدر تستخدم معامل اكبر او اصغر او ما شابه لانه بالعقل مش هينفع تقوله اعرض اللى اسمه اكبر من كذا او او ظيفته اصغر من كذا ؛ على عكس التواريخ فكل المعاملات السابقة تنفع مع التواريخ ولكن لا تنسي السنجل كوتشن .
دى المعاملات الحاسبية لكن لسه فيه معاملات شرطية تانية ودى نشوفها الفتفوتة اللى جاية ان شاء الله ؛ تمام .
طالب :- تمااااااام .



[center]م / خالد الشاذلي
مبرمج اوراكل بوزارة الانتاج الحربي 
IT Manager 1Solution Group 
0122512071
[email protected] 
[email protected][/center]

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية