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

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

صورة
- - - - -

دوره لتعلم الاوراكل بسهوله 2


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

#1 a_m2

a_m2

    مشترك

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

تاريخ المشاركة 24 July 2007 - 05:13 PM

الدرس الثالنى
السلام عليكم اعضاء المنتدى هذا هو الدرس الثانى لموضوع تعلم الاوراكل بسهوله وموضوع اليوم عن كفية استخدام
where

اليوم سنتحدث عن استخدام عبارة where فى الكود فقد لاحظنا فى الدرس الثانى اننا عندما نستدعى اى بيانات من الجدول كانت تاتينا جميع البيانات الموجوده فى الجدول مره واحده دون تحديد فمثلا

Selet last_name,salary from employees;
فى هذا الكود كما عرفنا سنستدعى اسم الموظف ومرتبه وسنلاحظ من الناتج انه قام باحضار اسماء ومرتبات جميع الموظفين الموجودين فى الجدول دون اى تمييز وطبعا هذا شئ غير عملى بالمره وهنا تاتى اهمية where
وتستخدم where للحصول على ناتج اكثر تحديدا ودقه وهناك اشياء تستخدم مع عبارة where وهى كما يلى

Operator	Meaning
=	يساوى
>	اكبر من
>=	اكبر من او يساوى
<	اصغر من
<=	اصغر من او يساوى
<>	لا يساوى
BETWEEN
...AND...	تستخدم للحصول على ناتج محصور بين قيمتين
IN(set)	تستخدم للحصول على ناتج داخل مجموعه محدده من القيم
LIKE	ناتج مثل او يشبه صوره معينه
IS NULL	اى ان يكون عمود الشرط قيمه فارغه
هذه العلامات الموجوده بالجدول تستخدم خلف كلمة where لتحديد الشرط الذى على اساسه سنختار البيانات من الجدول
مثال
Select last_name,salary,employee_id,department_id 
From employees
Where salary >15000;
فى هذا الكود قمنا باستدعاء اسم الموظف ومرتبه ورقمه الوظيفى ورقم القسم التابع له من جدول المستخدمين اذا اكتفينا بذلك فقط سيعرض لنا بيانات جميع الموظفين ولكننا فى الكود اشترطنا عليه شرط الا وهو ان يكون مرتب الموظفين الذين نريد بياناتهم اكبر من 15000 الف وبذلك حددنا له ما نريد بالتحديد
ويمكن ان نكتب اكواد مماثله ونستخدم العبارات < - > - <= - >= - <>
ناتى الان لاستخدام between وتستخدم عندما نريد معلومات عن شئ محصور بين شيئين
مثال
Select last_name,first_name from employees
Where employee_id between 110 and 120;
هنا قمنا بعرض الاسم الاول والاخير للموظفين الذين رقمهم الوظيفى محصور بين 110 و 120
ويمكن ان ننفى هذا الكلام اى نحصل على الموظفين الذين رقم المستخدم ليس بين 110 و 120 كما يلى
Select last_name,first_name from employees
Where employee_id not between 110 and 120;
اى انه اذا سبق كلمة between كلمة not فاننا ننفى
استخدام IN
تستخدم لعرض معلومات بشرط ان تكون هذه المعلومات موجوده داخل شئ تم تحديده مسبقا
مثال
Select salary,job_id,hire_date
From employees
Where department_id in ( 50,80,90);
هنا طلبنا المرتب ورقم الوظيفه وتاريخ التعيين للموظفين الذين يعملون فى الاقسام رقم 50 و 80 و 90
ملحوظه هامه
1/ يمكن نفى IN كما سبق ونفينا between
2/ بين القوسين اذا كان تاريخ او كاركتر يجب وضعه بين هاى كوما ويجب الفصل بين كل شئ والتانى بكوما
مثال
Select salary,job_id,hire_date
From employees
Where last_name not in ( 'ahmad','salah','aiman');
هنا اشترطنا ان يكون الناتج للموظفين الذين اسمائهم احمد وصلاح وايمن وهنا نلاحظ اننا وضعنا كل اسم بين هاى كوما لانه كاركتر وهذا شئ مهم جدا
استخدام LIKE
تستخدم للحصول على بيانات لشئ غير متاكدين منه وتستخدم غالبا مع الاسماء ولكن قد تستخدم مع التاريخ ايضا مثلا لدى موظف اريد ان اعرف بياناته لكنى لا اعرف اسمه بالتحديد ولكن اعرف اول حرف او حرفين او اخر حرف او ثانى حرف من اسمه عن طريق like استطيع الوصول اليه ولكن قبل الكود لابد ان نعرف شئ مهم

المعنى الشكل
هنا الحرف على يمين % وهذه معناها اننا نريد الاسماء التى تبدأ بحرف A	'A%'
هنا الحرف سبقه شرطه سفليه وهذا معناه اننا نريد الاسماء التى ثانى حرف بها هو a	'_a%'
هنا سبق الحرف شرطتين معناها اننا نريد الاسماء التى ثالث حرف بها a	'__a%'
هنا الحرف على يمين % وهذا معناه اننا نريد الاسماء التى تنتهى بحرف a	'%a'

من الجدول نفهم ان like لابد ان يعقبها % وحسب وجود الحرف سواء على يمين % او يسارها نحدد ما نريد فاذا كان الحرف على يمين % فهذا معناه اننا نريد الاسم الذى اخر حرف فيه هذا الحرف واذا كان الحرف على اليسار فهذا معناه اننا نريد الاسماء التى اول حرف بها هو ذلك الحرف ونلاحظ ايضا ان الشرطه السفليه تاخدذ مكان الحرف فى الترتيب ونلاحظ ان % وما معها يوضع بين هاى كوما
مثال
Select salary,commission_pct from employees
Where last_name like'S%';
هنا اشترطنا ان يحضر بيانات الموظفين الذين اسمائهم تبدأ بحرف S
ويمكن ان نستخدم like مع التاريخ
مثال
Select salary,commission_pct from employees
Where hire_date like'%00'
هنا طلبنا منه ان يحضر مرتبات وعمولات الموظفين الذين تم تعيينهم فى سنه اول ارقمين فيها صفر وصفر مثل 1900 او 2000 او 2100
استخدام NULL
Null ر معناها فارغ او لا يوجد به قيمه ولا بد ان يسبق كلمة null حرف is
مثال
Select*from employees
Where commission_pct is null;
هنا معنى الكود اننا نريد جميع البيانات للموظفين الذين لا يتقاضون عمولات اى ان خانة العموله فى الجدول لهؤلاء الموظفين فارغه لا تحتوى على اى قيمه
وبالطبع يمكن نفى null
مثال
Select*from employees
Where commission_pct is not null;
هنا بيانات الموظفين الذين يتقاضون عمولات
نكتفى بهذا ونكمل فى وقت اخر