بسم الله الرحمن الرحيم ....
هنكمل النهاردة ان شاء الله ،،،
الدرس التاسع من سلسلة دروس مبسطة فى ال SQL :
الأول نأخذ فكرة عن علامة اللصق CONCATENATION اللى هى دى (ا ا ) ،،،
بنستخدم عملية اللصق لضم عمودين معا ... لكن ازاى ..؟؟؟
مثلا :
ل
وعندنا جدول EMPLOYEE ، الحقول بتاعته ( SALARY , JOB , L_NAME , F_NAME )
دى الوقت لو قلنا :
SELECT * FROM EMPLOYEE ;
هتكون النتيجة :
SALARY JOB F_NAME L_NAME 5000 Professor Abdl mohsen Hassan
طيب لو عايزين نعمل لصق للعمودين F_NAME و L_NAME لتحسين شكل النتائج ليس الا ،،،
هنكتب كدة :
SELECT F_NAME, L_NAME AS E_NAME ,JOB , SALARY FROM EMPLOYEE;
هتكون النتيجة :
SALARY JOB E_NAME 5000 Professor Hassan Abdl mohsen
طيب ،،، هل ممكن اضافة جملة أو مجموعة حروف تظهر بين العمودين المراد لصقهما .....؟؟؟
ممكن هنقول مثلا :
MONTHLY SALARY اا ' : ONE MONTH SALARY = ' ا| SELECT F_NAME FROM EMPLOYEE ;
لاحظ : كلمة MONTHLY ما هى الا ALIAS لذلك يكون اسم العمود الجديد MONTHLY ،،،
MONTHLY 5000 SALARY = MONTHLY Hassan : 1
اذن ،، ، لو أردنا وضع حروف بين عمودين يراد لصقهما فاننا نكتب هذه الحروف بين SINGLE QUTATION ( ' ……' ) ،،،
كذلك عند وضع تاريخ ،،، لكن الأرقام لا توضع بين علامتى تنصيص مفردتين ...
***************************************
دى الوقت ان شاء الله ندخل فى موضوعنا الأساسى :
الجدول بتاعنا :
EMP table
ENAME JOB MGR EMPNO KING PRESIDENT *** 7839 7698 BLAKE MANAGER 7839 7782 CLARK MANAGER 7839 7566 JONES MANAGER 7839 7654 MARTIN SALESMAN
7698**********************
******************************
لو عندنا جدول زى EMP ،،، لو عايزين نعرف اسم المدير لكل موظف ،
مثلا
BLAKE ،،، نبحث عن رقم MGR الموجود أمامه بالجدول ،،، وجدنا الرقم 7839 ،،، ثم نقارن هذا الرقم بال EMPNO ،،،
فنجد ان الموظف الذى يحمل هذا الرقم هو KING ،
اذن KING هو مدير BLAKE ،، وهكذا ..
بتطبيق المطلوب على كل الموظفين يصبح الأمر صعب ،،، لذلك نستخدم الربط الداخلى لنفس الجدول
اللى هو SELF JOIN ،،،
حتى نتمكن من عرض اسم كل موظف وبجواره اسم مديره ،
ولتنفيذ ذلك ،،، دعنا نتخيل أننا قسمنا جدول EMP الى جدولين منفصلين هما :
جدول WORKER عبارة عن EMPNO ENAME MGR وجدول MANAGER) عبارة عن EMPNO ENAME
من الجداول السابقة نجد أن : هناك علاقة بين MGR و EMPNO ، لأن رقم المدير MGR ما هو الا رقم
موظف من الأرقام الموجودة فى EMPNO ،،،
أصبحت قيم ال MGR هى بعض قيم ال EMPNO ، كما هو الحال فى الربط المتساوى ال EQUIJOIN ،
وعلى ذلك نكتب :
SELECT WORKER . ENAME 11 ' THE MANAGER IS : ' 11 MANAGER . ENAME AS MANAGER FROM EMP WORKER , EMP MANAGER ; WHERE WORKER . MGR = MANAGER . EMPNO
وعلى هذا تكون النتيجة :
MANAGER
BLAKE THE MANAGER IS : KING
...........
............
ان شاء الله يكون الموضوع بسيط ... تمنياتى بالتوفيق ...
شكرا.
م.فرحة