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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


لا توجد ردود على هذا الموضوع

#1 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 November 2009 - 06:12 PM

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



خالد :- السلام عليكم ؛ النهاردة – اليوم – ان شاء الله هنتكلم عن فلترة البيانات المرتجعة من قواعد البيانات ؛ وواضح من كلمة فلترة ان فى مواضيع هتتفتح بشكل مختلف عن اللى احنا نعرفه ؛ فعلى مدار الفتافيت اللي فاتت كنا بنتعلم ازاى نستعلم عن البيانات بشكل عام لكن النهاردة هنتعلم ازاى نرجع داتا محددة ومشروطة ؛ والشروط دي انت اللي بتحددها بنفسك كمان هنتعلم الصيغة لكل شرط مش بس كده ده كمان امتى احتاج الشرط
طالب :- ده الموضوع كبير بقى !!
خالد :- ابدا ؛ الموضوع بسيط واكتر من كلمة شيق ؛ لكن عايزك تفهم ان النهاردة هنبدء نتعلم اساسيات الالغاز فى الاوراكل وهديك مفاتيح الالغاز وانت وشاطرتك ؛ اتفقنا ؟
طالب :- اتفقنا
" 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
khaled.elshazly@1solution.org
eng-mega@hotmail.com[/center]

  • Mina_MAmdouh معجب بهذا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي