معاملات المقارنة في جملة where
معاملات المقارنة في قواعد البيانات Comparative transactions تستخدم في جملة الشرط لكي تسهّل عملية حصر البيانات بشكل اكبر وهي :
المعامل | المعنى |
and - Between | حصر البيانات بين رقمين |
IN | حصر البيانات ضمن مجموعة قيم |
Like '%,_' | حصر البيانات حسب مطابقة النص او حروف |
IS Null | حصر البيانات الخالية Null |
سنشرح كل هذه المعاملات بشكل مفصل كل واحدة على حدى مع بعض الأمثلة لتوضيح المفاهيم.
حصر بيانات بين رقمين between ,and
تستخدم هذه القيم لعرض البيانات المحصورة بين رقميين او قيمتين.
ليكن لدينا Sead = 3000 و Omer = 5000 و Reem = 2000, إعرض البيانات المحصورة بين 1000 و 3000.
SQL> select name ,sal
From emp
where sal Between 1000 And 3000
فستكون النتيجة
كما لآحظنا في الجدول السابق فقد عرض لنا فقط البيانات المحصورة بين 1000 و 3000 و تجاهل. لنا قيمة Omer و هي 5000 لأننا طلبنا منه فقط بين 3000 و 1000.
حصر البيانات ضمن مجموعة من القيم IN
تستخدم في حصر البيانات ضمن مجموعة من القيم, ليكن لدينا القيم Sead = 101 و omer = 102 و sara = 103 اعرض لنا الأرقام المحصورة في 101 و 103.
SQL>select name , id
From emp
where id IN (101,103)
حصر البيانات حسب مطابقة النص أو الحروف Like '%,_'
يُستخدم هذا الأمر للبحث عن نص معين داخل حقل نصي حيث يتم مطابقة حرف النص المذكورة في جملة الشرط.
- الرمز % هذا الرمز يعني حرف أو احرف'%A' يستخدم لمطابقة النصوص التي تبدأ بحرف A مهما كانت الأحرف.
- الرمز'A%' يستخدم لمطابقة النصوص التي تنتهي بحرف A مهما كانت باقي الأحرف التي تسبقه.
- الرمز '%A%' يستخدم للبحث عن النصوص التي تحتوي على حرف A.
- الرمز '_' يستخدم هذا الرمز لمطابقة حرف واحد فقط.
- الرمز 'A_' يستخدم هذا الرمز عندما نريد البحث عن نص الحروف الثانية فيه هو A.
مثال
ليكن لدينا الجدول الآتي يحتوي على بيانات موظفين اﻷسم و المهنة و الراتب.
المطلوب:
- عرض أسماء الموظفين الذين تبدأ اسماهم بحرف o.
- عرض عمل الموظفين التي تنتهي بحرف r.
- عرض عمل الموظفين الذي يكون الحرف الثاني من اسماءهم حرف e.
- عرض عمل الموظفين الذي يكون الحرف الثالث من اسماءهم e.
SQL>select name , job , sal
From emp
where name Like 'o%'
SQL>select name , job , sal
From emp
where job LIKE '%r'
الخلية Job جميع ما بها ينتهي بحرف r لهذا عرض لنا هذا الجدول.
SQL>select name , job , sal
From emp
where name LIKE '_e%'
SQL>select name , job , sal
From emp
where name LIKE '_ _e%'
حصر البيانات الخالية IS Null
تقوم IS Null بحصر البيانات الخالية من الجدول, و لا يمكن إستخدام المعامل = في القيم الخالية.
مثال
لدينا جدول به بيانات موظفين سنستعين بمثالنا السابق و نضيف موظف جديد له.
المطلوب عرض إسم الموظف و عمله الذين لا يوجد لهم عمل
SQL>select name , job , sal
From emp
where job Is Null
المعاملات المنطقية في جملة where
تستخدم المعاملات المنطقية لتكوين أكثر من شرط في جملة where.
المعامل | المعنى |
AND | يكون TRUE إذا كانت كلا الجملتين TRUE |
OR | يكون TRUE إذا كانت إحدى الجملتين TRUE |
NOT | عكس نتائج الشرط إذا كانت FALSE ترجع TRUE |
سوف نشرح جميع هذه المعاملات بالتفصيل كل واحدة منها على حدى.
المعامل AND
يستخدم هذا المعامل لعرض البيانات إذا كان الشرطين صحيحات.
مثال 1
عرض رواتب الموظفين الذين رواتبهم اكبر من او يساوي 1100 ويعملون في وظيفة كاتب.
select sal ,job
from emp
where sal>=1100 AND job='CLERK';
المعامل OR
يُستخدم هذا لعرض البيانات إذا كان أحد الشرطين صحيح.
مثال 2
عرض وظيفة و راتب الموظفين الذين رواتبهم اكبر من 2500 او تكون وظيفتهم في الإدارة
Select Sal, Job from emp
where sal>2500 OR job=' MANAGER ';
المعامل NOT
يقوم هذا المعامل بعكس ناتج الجملة الشرطية إذا كانت TRUE يكعسها إلى FALSE و يستخدم لعكس المعاملات الأخرى إذا جاء معها.
مثال 3
عرض أسماء الموظفين الذين لا يعملون في الوظائف التالية ( 'CLERK' , 'MANAGER' , 'ANALYST' )
SELECT ename , job
FROM emp
WHERE job NOT IN ( 'CLERK' , 'MANAGER' , 'ANALYST' ) ;
لمشاهدة هذا الدرس على يوتيوب من خلال تشغيل الفيديو الآتي