هنكمل النهاردة ان شاء الله ،،،
الدرس التاسع من سلسلة دروس مبسطة فى ال SQL :
الأول نأخذ فكرة عن علامة اللصق CONCATENATION اللى هى دى (ا ا ) ،،،
بنستخدم عملية اللصق لضم عمودين معا ... لكن ازاى ..؟؟؟
مثلا :
ل
وعندنا جدول EMPLOYEE ، الحقول بتاعته ( SALARY , JOB , L_NAME , F_NAME )
دى الوقت لو قلنا :
SQL كودSELECT * FROM EMPLOYEE ;
هتكون النتيجة :
SQL كودSALARY JOB F_NAME L_NAME
5000 Professor Abdl mohsen
Hassan
طيب لو عايزين نعمل لصق للعمودين F_NAME و L_NAME لتحسين شكل النتائج ليس الا ،،،
هنكتب كدة :
SQL كودSELECT F_NAME, L_NAME AS E_NAME ,JOB , SALARY
FROM EMPLOYEE;
هتكون النتيجة :
SQL كودSALARY JOB E_NAME
5000 Professor Hassan Abdl mohsen طيب ،،، هل ممكن اضافة جملة أو مجموعة حروف تظهر بين العمودين المراد لصقهما .....؟؟؟
ممكن هنقول مثلا :
SQL كودMONTHLY SALARY اا ' : ONE MONTH SALARY = ' ا| SELECT F_NAME
FROM EMPLOYEE ;
لاحظ : كلمة MONTHLY ما هى الا ALIAS لذلك يكون اسم العمود الجديد MONTHLY ،،،
SQL كودMONTHLY
5000 SALARY = MONTHLY Hassan : 1
اذن ،، ، لو أردنا وضع حروف بين عمودين يراد لصقهما فاننا نكتب هذه الحروف بين SINGLE QUTATION ( ' ……' ) ،،،
كذلك عند وضع تاريخ ،،، لكن الأرقام لا توضع بين علامتى تنصيص مفردتين ...
***************************************
دى الوقت ان شاء الله ندخل فى موضوعنا الأساسى :
الجدول بتاعنا :
EMP table
SQL كود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 ،
وعلى ذلك نكتب :
SQL كود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
...........
............
ان شاء الله يكون الموضوع بسيط ... تمنياتى بالتوفيق ...
شكرا.