الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

الدرس الخامس ( سلسلة دروس مبسطة في Sql )

بدأه J.DEV في 27 فبراير 2009 · 1 رد · 1,282 مشاهدة · في قسم لغة الاستفسارات SQL
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أحبائي أعضاء وزوار رابطة المبرمجين العرب ، أعتذر عن التأخر في تكملة باقي الدروس ، وإن شاء الله سنكون اليوم مع الدرس الخامس وسوف نتحدث عن المعاملات التالية ( between , in , is null , like , and , or , not )

* المعامل between :

وهو يستخدم للحصر بين مجموعة أعداد فمثلا لو اردنا ان نحصر مرتبات الموظفين الذين ياخذون رواتب ما بين 2000 و 5000 فسيقوم هذا المعامل بعمل حصر للرواتب بين هذين الرقمين ، ولا يمكن تكرار الشرط and فى جملة between مثل where between …and…and.. هذا لا يصلح .

الصيغة العامة هى between ….. and ……

أمثلة :

select sal from emp where sal between 2000 and 5000

في هذا المثال قمنا بعمل حصر للموظفين الذين ياخذون مرتبات ما بين 2000 الى 5000 باستخدام المعامل between

select ename from emp where deptno between 10 and 20 ;

في هذا المثال قمنا بعمل حصر للموظفين ما بين الادارتين ال 10 ،20 .

************************************************

* المعامل IN :

ويستخدم لحصر عدد معين ليأتى بالنتيجة المشروطة فقط ؛ ويمكن تعداد الشرط .

أمثلة :

Select * from emp Where job in ( ' salesman ' , ' clerk ' ) ;

في هذا المثال يستعرض بيانات الموظفين الذين يشتغلون فى الوظيفة clerk و salesman .

Select * from emp Where empno in (7844 , 7782 , 7788) ;

في هذا المثال قمنا باستعرض بيانات الموظفين الذين ارقامهم 7844 و 7782 و 7788 .

**********************************************

* المعامل IS NULL .

ويستخدم هذا المعامل لأستعراض القيم الخالية فقط ؛ ولا يمكن استخدام = مع القيم الخالية .

أمثلة :

Select * from emp Where comm is null ;

في هذا المثال قمنا بأستعرض بيانات الموظفين الذين ليس لهم عمولة .

Select ename , mgr from emp Where mgr is null ;

في هذا المثال قمنا بأستعرض أسم ورقم المدير للموظفين الذين لا يوجد لديهم مدير .

**********************************************

* المعامل LIKE :

وهو معامل بحث عن اى بيانات داخل القاعدة ؛ ونجد ان % تعبر عن اداة البحث اما_ " الاندر سكور " فهي تعبر عن مكان حرف او رقمه .

أمثلة :

Select * from emp Where ename like ' %K ' ;

لاحظ ان حرف C كابتل كما مدخل فى القاعدة .

أستعرض بيانات الموظفين الذى تنتهى أسمائهم بحرف K

Select * from emp Where ename like ' C% ' ;

أستعرض بيانات الموظفين الذين تبدء أسمائهم بحرف C

Select * from emp Where ename like ' _A% ' ;

أستعرض بيانات الموظفين الذين يبدء ثانى حرف لهم بحرف A

Select * from emp Where ename like ' ____ ' ;

أستعرض بيانات الموظفين الذين عدد حروفهم اسمائهم 4 حروف

لاحظ فى المثال السابق انك لو وضعت الشرط كالتالي

Where ename like ' %____ %' ;

فأن النتيجة ستأتي بكل بيانات الموظفين اجمعين وذلك لانك فى الشرط قلت استعرض البيانات التى يحتوى اى أسم فيها على اى اربع حروف وبالتالي فأن كل الاسماء تحتوى على اربع حروف فأكثر لذا أحضر الشرط كل بيانات الموظفين أجمعين .

************************************************

* المعامل AND :

وهو معامل شرط هام حيث وجوده يزيد من فلترة البيانات المستعرضه ؛ ووجوده يحتم تطابق الشروط المفروضه والا لن يعرض اى نتائج .

أمثلة :

Select * from emp Where deptno = 10 and sal > 1500 ;

أستعرض بيانات الموظفين الذى يعملون بالادارة رقم 10 والمرتب أكبر من 1500 .

Select * from emp Where sal * 12 > 14000 and ename like '%M%' ;

أستعرض بيانات الموظفين الذين مرتبهم السنوى أكبر من 14000 وأسمه يوجد به حرف M

Select * from emp Where deptno in (10,20) and empno between 7780 and 7790;

أستعرض بيانات الموظفين الذين يعملون فى الادارة من الادارات 10 و 20 ورقمه يقع بين الارقام 7780 و 7790

************************************************** **

* المعامل OR :

معامل هام ايضا فيه يتم فلترة البيانات على اى شرط يتوفر فى الكود المكتوب .

أمثلة :

Select * from emp Where sal > 2500 or job = 'MANAGER' ;

أستعرض بيانات الموظفين الذين رواتبهم أكبر من 2500 أو وظيفتهم MANAGE

Select * from emp Where comm > sal or mgr is null ;

أستعرض بيانات الموظفين الذين يأخذون عمولة أكبر من مرتبه أو ليس له مدير .

* المعامل NOT :

وهو يستخدم لنفى بيان موجود فى القاعدة ثم يستخدم هذا النفى لعرض النتائج .

أمثله :

Select * from emp Where deptno not in (10, 20 ) ;

أستعرض بيانات الموظفين الذين لا يعملون فى الادارة 10 و 20

Select * from emp Where job not like 'MANAGER' ;

أستعرض بيانات الموظفين الذين لا يعملون كمديرين .

ارجو ان يكون قد نال الشرح اعجابكم

والى اللقاء في فتفوتة أخرى

تحياتي

أحمد السعيد

تم تعديل هذه المشاركة بواسطة J.DEV في 27 فبراير 2009 في 07:08

Oracle APEX Consultant@ ClinicForce

Oracle APEX Instructor @ New Horizons Alexandria Branch

00201095775354

00201112355566

ahmed-alsaied@ms.com

My Blog

الإجتماع حول العقيدة ضرورة حياتية ، إذا أردتم التمكين في الأرض

 

 

 

#2

السلام عليكــم ورحمـة الله وبركاتــه ،،

شكراً لك أخي الكريم على هذا الشرح المميز, والله أفدتني كثير,الله يجزيك كل خير...

لدي إستفسار بسيط حول نقطة لم أفهمها, وهو المعامل OR

Select * from emp Where sal > 2500 or job = 'MANAGER' ;

هذا الكود سيقوم بعرض بيانات الموظفين الذين رواتبهم أكبر من 2500 فقط أو الذين وظيفتهم MANAGER?أو كلاهما معاً ؟وإذا كان سيستعرض كلاهما فلما لا نستخدم المعامل AND بدلاً عن OR؟؟؟

أرجوا الرد , لك جزيل الشكر

مواضيع مشابهة