منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي
منتديات برامج نت
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتديات برامج نت

برامج كمبيوتر و انترنت لغات برمجه و تطوير مواقع قسم خاص بالتصميم و الجرافيك
 
الرئيسيةPortalأحدث الصورالتسجيلnon equijoin، I_icon_mini_registerدخول
اهلاوسهلا بكم في منتديات برامج نت ارجو من جميع الزوار التسجيل مع تحيات $الادارة$

 

 non equijoin،

اذهب الى الأسفل 
2 مشترك
كاتب الموضوعرسالة
DESGINER

المدير العام...}


DESGINER



non equijoin، Empty
مُساهمةموضوع: non equijoin،   non equijoin، Icon_minitimeالأربعاء مارس 18, 2009 4:09 pm

بسم الله الرحمن الرحيم ...

هنكمل النهاردة ان شاء الله الjoin ، كان بدأها المرة اللى فاتت الأخ J.DEV وكان شرح ال equijoin ،،،

المرة دى ،،، هنتكلم عن النوع الثانى اللى هو ال non equijoin،،،لكن قبل ما نبدأ ... نأخذ فكرة بسيطة

عن حاجتين هنستخدمهم ،،،

الأول : (ALIAS )، لكن الاسم ده معناه ايه ؟؟؟

ده معناه الاسم المستعار ، يعنى عايزين نعرض أى عمود باسم جديد ،

ولاحظ : اننا قلنا نعرض يعنى دة شئ مش أساسى ،،، بمعنى لايتغير اسم العمود فى الجداول الأصلية

المخزنة فى ال data base .

نوضح أكتر :


لو قلنا مثلا :
SQL كودSELECT ENAME , SAL , SAL*12
FROM EMP;

هيكون الناتج جدول عبارة عن ثلاثة حقول هى كالتالى : ( SAL , SAL*12 , ENAME , ) ،،،

لكن لو حبينا نعرض العمود SAL*12 باسم أحسن شوية ،،، يعنى نسميه مثلا ANNSAL يعنى الراتب السنوى ،،،

هننفذ دة بطريقة من اثنين :

1) نترك مسافة بين اسم العمود القديم والاسم الجديد ، يعنى كدة :

SQL كودSELECT ENAME , SAL , SAL*12 ANNSAL
FROM EMP ;

2) أونستخدم AS :

SQL كودSELECT ENAME , SAL , SAL*12 AS ANNSAL
FROM EMP ;

وفى الحالتين هتكون النتيجة كدة :

جدول به الحقول ( ENAME , SAL , ANNSAl )

لاحظ : لو الاسم المستعار مكون من كلمتين يجب وضعه بين double quotation يعنى كدة

SQL كودSELECT ENAME , SAL , SAL*12 "ANNSAL SALARY"
FROM EMP;

لاحظ : لأن ALIAS مش تغيير حقيقى لاسم العمود ... لا يمكن استخدامه فى فقرة where ،،،


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


2) أما الحاجة التانية : فهى استخدام BETWEEN ودى بنسميها علامة الحصر ، علشان بنستخدمها لحصر

النتائج ما بين قيمتين ،،،

وبتتكتب كدة ، القيمة الكبرى and القيمة الصغرى between

يعنى مثلا نقول :

SQL كودSELECT ENAME , SAL
FROM EMP WHERE SAL BETWEEN 2000 AND 4000 ;

************************************************** *********************
تابع .....

دى الوقت ممكن نتكلم عن موضوعنا النهاردة ،،، NON EQUIJOIN ،،،

كنا قبل كدة فى الربط المتساوى equijoin بنقول ان فى عمود مشترك بين الجدولين ، يعنى فى علاقة

مباشرة ،

علشان كدة كنا بنستخدم علامة التساوى فى فقرة where من الجملة select ،،،

لكن فى الربط غير المتساوى NON EQUIJOIN لا توجد علاقة مباشرة بين الجدولين ، لذلك لا نستخدم

علامة التساوى فى فقرة where من الجملة select ،،،

لو أخدنا المثال دة : لو عندنا جدولين :

الأول (EMP) الحقول ( ENAME , SAL )

الجدول الثاني ( SALGRADE)ول ( LOSAL , HISAL )

دى الوقت ممكن نفهم العلاقة غير المباشرة بين الجدولين ،

لأن أى قيمة لل SAL فى جدولEMP ازم هتكون قيمتها بين القيم الموجودة فى ال

LOSAL , HISAL) ( الموجودين فى جدول SALGARDE

يبقى لو عايزين نختار ال ENAME , SAL) ) من جدول EMP ، و (LOSAL , HISAL ) من جدول SALGRADE

نكتب الأمر كدة ::



SQL كودSELECT E.ENAME , E.SAL , S.GRADE
FROM EMP E , SALGRADE S
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL ;

ملاحظة أخيرة :

استخدمنا alias

Eكاسم للجدول EMP، و S كاسم للجدول SALGARDE وتسهيل الأمر ،

وضعنا القيمة الصغرى
LOSAL
بعد between مباشرة ، ثم يليها and ، ثم القيمة الكبرى HISAL
الرجوع الى أعلى الصفحة اذهب الى الأسفل
ملك الظلام

المشرف العام...}


ملك الظلام



non equijoin، Empty
مُساهمةموضوع: رد: non equijoin،   non equijoin، Icon_minitimeالجمعة أبريل 17, 2009 3:38 am

درس رائع وجيد
الرجوع الى أعلى الصفحة اذهب الى الأسفل
 
non equijoin،
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتديات برامج نت :: :::: المنتديات التقنيـــــه :::: :: لغات البرمجه :: اوركل-
انتقل الى: