السلام عليكم
And & ORسنتحدث اليوم عن
يستخدمو لتصفيه السجلات استنادا الى اكثر من شرط
And عند استخدامك ل
فى هذه الحاله يجب ان تطبق جميع الشروط الموجوده داخل
الجمله وفى حاله اى من الشروط غير صحيح ستكون النتيجه غير
صحيحه لا بد ان تكون
جميع الشروط صحيحه حتى يظهر الناتج الصحيح
EMPكما تجرى العاده دائما نقوم بلعمل على جدول
ال
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
7521
|
WARD
|
SALESMAN
|
7698
|
22/02/81
|
1250
|
500
|
30
|
7566
|
JONES
|
MANAGER
|
7839
|
02/04/81
|
6000
|
20
|
|
7654
|
MARTIN
|
SALESMAN
|
7698
|
28/09/81
|
1250
|
1400
|
30
|
7698
|
BLAKE
|
MANAGER
|
7839
|
01/05/81
|
2850
|
30
|
|
7782
|
CLARK
|
MANAGER
|
7839
|
09/06/81
|
3300
|
10
|
|
7788
|
SCOTT
|
ANALYST
|
7566
|
19/04/87
|
6000
|
20
|
|
7839
|
KING
|
PRESIDENT
|
17/11/81
|
3300
|
10
|
||
7844
|
TURNER
|
SALESMAN
|
7698
|
08/09/81
|
1500
|
0
|
30
|
7876
|
ADAMS
|
CLERK
|
7788
|
23/05/87
|
6000
|
20
|
|
7900
|
JAMES
|
CLERK
|
7698
|
03/12/81
|
950
|
30
|
|
7902
|
FORD
|
ANALYST
|
7566
|
03/12/81
|
6000
|
20
|
|
7934
|
MILLER
|
CLERK
|
7782
|
23/01/82
|
3300
|
10
|
مثال 1
ويجب ان يكون
رقم الموظف 7499Allen نريد جميع المعلومات عن الموظف
ورقمه 7499 لن يتم تنفيذ الجمله بشكل صحيح الا
اذا كان الشرطيين صحيحين Allen اى ان لم يكن اسم الموظف
واذا كان اى من الشرطيين غير صحيح او غير متوفر سيكون
الناتج غير صحيح
Syntax
Select * from emp
Where ename = 'ALLEN'
AND empno = 7499;
ناتج المثال رقم 1
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
وفى حاله اى من الشروط غير متوفر يكون الناتج
no rows selected
مثال رقم 2
فى الجمله اكثر
من مرهAnd يمكنك ايضا اضافه المشغل
ويجب ان يكون رقمه 7499 ويجب ان يكون راتبه 1760Allen فى هذا المثال نريد جميع المعلومات عن الموظف
Syntax
Select * from emp
Where ename = 'ALLEN'
AND empno = 7499
AND sal = 1760;
ناتج المثال رقم 2
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
وفى حاله لم تطبق اى من الشروط التى ذكرناها يكون الناتج
no rows selected
ORعند استخدامك ل
هذا المشغل اكثر سلاسه اى فى حاله لم ينفذ الشرط رقم
واحد نفذ الشرط رقم اتنين اى يجب ان يكون اى من الشروطين صحيحين حتى يظهر ناتج الجمله
بشكل صحيح
سوف نستخدم المثال رقم 1/2
Syntax
Select * from emp
Where ename = 'ALLEN'
OR empno = 7499;
فلا مشكله انظر الى الشرط الثانى اذا كان صحيحا
نفذ الجمله واذا كان الشرط الثانىAllen
فى هذه الحاله ان لم يكن اسمه
خطا نفذ الشرط الاول واذا كان الشرطين خطا بلتالى –بديهى-
لن ينفذ اى شىء
ناتج المثال 1/2
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
مثال رقم 2/2
Wardاو الموظف Allen
نريد جميع البيانات عن الموظف
Syntax
Select * from emp
Where ename = 'ALLEN'
OR ename = 'WARD';
ناتج المثال 2/2
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
7521
|
WARD
|
SALESMAN
|
7698
|
22/02/81
|
1250
|
500
|
30
|
ويمكنك ايضا استخدام المشغلين معا
مثال 1/3
SalesManالموجودين فى وظيفه Ward
او الموظف Allen نريد جميع البيانات عن الموظف
Syntax
Select * from emp
Where job = 'SALESMAN'
AND (ENAME = 'ALLEN' OR ENAME = 'WARD');
ناتج المثال 3/3
EMPNO
|
ENAME
|
JOB
|
MGR
|
HIREDATE
|
SAL
|
COMM
|
DEPTNO
|
7499
|
ALLEN
|
SALESMAN
|
7698
|
20/02/81
|
1760
|
300
|
30
|
7521
|
WARD
|
SALESMAN
|
7698
|
22/02/81
|
1250
|
500
|
30
|
وبذلك نكون انتهينا من الدرس اليوم وفى انتظار الاسئله
والاستفسارات
No comments:
Post a Comment