a_m2 بتاريخ: 24 يوليو 2007 تقديم بلاغ مشاركة بتاريخ: 24 يوليو 2007 الدرس الثالنى السلام عليكم اعضاء المنتدى هذا هو الدرس الثانى لموضوع تعلم الاوراكل بسهوله وموضوع اليوم عن كفية استخدام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 كما سبق ونفينا between2/ بين القوسين اذا كان تاريخ او كاركتر يجب وضعه بين هاى كوما ويجب الفصل بين كل شئ والتانى بكوما مثال 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استخدام NULLNull ر معناها فارغ او لا يوجد به قيمه ولا بد ان يسبق كلمة null حرف is مثال Select*from employees Where commission_pct is null; هنا معنى الكود اننا نريد جميع البيانات للموظفين الذين لا يتقاضون عمولات اى ان خانة العموله فى الجدول لهؤلاء الموظفين فارغه لا تحتوى على اى قيمهوبالطبع يمكن نفى nullمثال Select*from employees Where commission_pct is not null; هنا بيانات الموظفين الذين يتقاضون عمولاتنكتفى بهذا ونكمل فى وقت اخر اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.