إستخدام عبارة WHERE مع عوامل المقارنة في قواعد البيانات - ProgrammerTech
Language:

Search

إستخدام عبارة WHERE مع عوامل المقارنة في قواعد البيانات

  • Share this:
إستخدام عبارة WHERE مع عوامل المقارنة في قواعد البيانات

معاملات المقارنة في جملة where

معاملات المقارنة ( Comparative transactions ) تستخدم في جملة الشرط لكي تسهّل عملية حصر البيانات بشكل اكبر و هي :

  1. المعامل and - Between حصر البيانات بين رقمين.
  2. المعامل IN حصر البيانات ضمن مجموعة قيم.
  3. المعامل Like '%,_' حصر البيانات حسب مطابقة النص او حروف.
  4. المعامل 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

فستكون النتيجة

Name

Sal

Seam

3000

Reem

2000

كما لآحظنا في الجدول السابق فقد عرض لنا فقط البيانات المحصورة بين 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)

Name

Sal

Sead

101

sara

103

 

حصر البيانات حسب مطابقة النص أو الحروف Like '%,_'

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

  1. الرمز % هذا الرمز يعني حرف أو احرف'%A' يستخدم لمطابقة النصوص التي تبدأ بحرف A مهما كانت الأحرف.
  2. الرمز'A%' يستخدم لمطابقة النصوص التي تنتهي بحرف A مهما كانت باقي الأحرف التي تسبقه.
  3. الرمز '%A%' يستخدم للبحث عن النصوص التي تحتوي على حرف A.
  4. الرمز '_' يستخدم هذا الرمز لمطابقة حرف واحد فقط.
  5. الرمز 'A_' يستخدم هذا الرمز عندما نريد البحث عن نص الحروف الثانية فيه هو A.

مثال 

ليكن لدينا الجدول الآتي يحتوي على بيانات موظفين اﻷسم و المهنة و الراتب.

Name

Job

Sal

Sead

saller

3000

Omer

leader

5000

Reem

leader

2000

المطلوب:

  • عرض أسماء الموظفين الذين تبدأ اسماهم بحرف o.
  • عرض عمل الموظفين التي تنتهي بحرف r.
  • عرض عمل الموظفين الذي يكون الحرف الثاني من اسماءهم حرف e.
  • عرض عمل الموظفين الذي يكون الحرف الثالث من اسماءهم e.
SQL>select name , job , sal
    From emp
    where name Like 'o%'

Name

Job

Sal

Omer

leader

5000

SQL>select name , job , sal
    From emp
    where job LIKE '%r'

Name

Job

Sal

Sead

saller

3000

Omer

leader

5000

Reem

leader

2000

الخلية Job جميع ما بها ينتهي بحرف r لهذا عرض لنا هذا الجدول.

SQL>select name , job , sal
    From emp
    where name LIKE '_e%'

Name

Job

Sead

saller

Reem

leader

SQL>select name , job , sal
    From emp
    where name LIKE '_ _e%'

Name

Job

Omer

leader

Reem

leader

 

حصر البيانات الخالية IS Null

تقوم IS Null بحصر البيانات الخالية من الجدول, و لا يمكن إستخدام المعامل = في القيم الخالية.

مثال

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

Name

Job

Sead

saller

Omer

leader

Reem

leader

sara

 

المطلوب عرض إسم الموظف و عمله الذين لا يوجد لهم عمل

SQL>select name , job , sal
    From emp
    where job Is Null

Name

Job

sara

 

 

المعاملات المنطقية في جملة where

تستخدم المعاملات المنطقية لتكوين أكثر من شرط في جملة where.

  1. المعامل AND يكون TRUE إذا كانت كلا الجملتين TRUE.
  2. المعامل OR يكون TRUE إذا كانت إحدى الجملتين TRUE.
  3. المعامل NOT عكس نتائج الشرط إذا كانت FALSE ترجع TRUE.

سوف نشرح جميع هذه المعاملات بالتفصيل كل واحدة منها على حدى.

 

المعامل AND

يستخدم هذا المعامل لعرض البيانات إذا كان الشرطين صحيحات.

مثال

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

select sal ,job
from emp
where sal>=1100  AND  job='CLERK';

SAL

JOB

1100

CLERK

1300

CLERK

 

المعامل OR

يُستخدم هذا لعرض البيانات إذا كان أحد الشرطين صحيح.

مثال 

عرض وظيفة و راتب الموظفين الذين رواتبهم اكبر من 2500 او تكون وظيفتهم في الإدارة

Select  Sal, Job from emp
where sal>2500 OR  job=' MANAGER ';

SAL

JOB

2975

MANAGER

2850

MANAGER

2450

MANAGER

3000

ANALYST

5000

PRESIDENT

3000

ANALYST

 

المعامل NOT

يقوم هذا المعامل بعكس ناتج الجملة الشرطية إذا كانت TRUE يكعسها إلى FALSE و يستخدم لعكس المعاملات الأخرى إذا جاء معها.

مثال

عرض أسماء الموظفين الذين لا يعملون في الوظائف التالية ( 'CLERK' , 'MANAGER' , 'ANALYST' )

SELECT ename , job
FROM emp
WHERE job NOT IN ( 'CLERK' , 'MANAGER' , 'ANALYST' ) ;

SAL

JOB

ALLEN

SALESMAN

WARD

SALESMAN

MARTIN

SALESMAN

KING

PRESIDENT

TURNER

SALESMAN

 

تمرين عملي 1

اكتب جملة الإستعلام لعرض أسماء و رواتب الموظفين الذين رواتبهم أكبرمن 1500, بحيث تظهر النتيجة كالتالي.

SAL

JOB

ALLEN

1600

JONES

2975

BLAKE

2850

CLARK

2450

SCOTT

3000

KING

5000

FORD

3000

الجواب

SQL> select ename ,sal from emp
2  where sal >1500;

تمرين عملي 2

اكتب جملة الإستعلام لعرض أسماء و تاريخ تعيين الموظفين المعينين سنة 1982 بحيث تظهر النتيجة كالتالي.

ENAME

HIREDATE

SCOTT

09-DEC-82

MILLER

23-JAN-82

الجواب

SQL> select ename ,hiredate 
2 from emp 
3 where hiredate LIKE '%82';

تمرين عملي 3

اكتب جملة الإستعلام لعرض أسماء و رواتب و عمولة الموظفين الذين يأخذون عمولة بحيث يظهر كالتالي

ENAME

SAL

COMM

ALLEN

1600

300

TURNER

1500

0

MARTIN

1250

1400

WARD

1250

500

الجواب

SQL> SElect ename ,sal ,comm 
  2  from emp;

تمرين عملي 4

اكتب جملة الإستعلام لعرض أسماء الموظفين الذين في أسمائهم الحرف الثالث A, بحيث تظهر النتيجة كالتالي

ENAME

BLAKE

CLARK

ADAMS

الجواب

SQL>select ename ,sal 
2 from emp 
3 where ename LIKE'__A%';

تمرين عملي 5

اكتب جملة الإستعلام لعرض اسماء الموظفين الذين تتضمن اسماؤهم الحرفين 'LL', بحيث تظهر كالتالي

ENAME

ALLEN

MILLER

الجواب

SQL>select ename ,sal 
2 from emp
3 where ename LIKE'%LL%';

Wazeer Almuliky

Wazeer Almuliky

شاب يمني من صنعاء بكلريوس تقنية معلومات مهندس قطع إلكترونية و مبرمج تطبيقات اندرويد, خبرة في قواعد البيانات و الجافا, أهتم في الاكترونيات و لغات البرمجة منها فلاتر والجافا وسي شارب