إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
* * * * * 1 صوت

فتـافيـت - الفتـفوتـة الثالثة


6 رد (ردود) على هذا الموضوع

#1 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 September 2009 - 01:46 AM

الفتــفوتة الثـالثـة



خالد :- السلام عليكم ؛ اخر مرة كنا وقفنا عند الاستعلام عن حقل واحد فقط داخل الجدول
طالب :- هو فيه اكتر من شكل للاستعلام ؟
خالد :- بالظبط كده ؛ فى شكل من الاستعلام هو الاستعلام عن كل الحقول الموجودة داخل الجدول وده لما كنا بنستخدم * وده خدناه المرة اللى فاتت ؛ وشكل اخر وهو الاستعلام عن حقل واحد فقط محدد داخل الجدول وده برضه خدناه المرة اللى فاتت ؛ وهناك ثلاث اشكال اخرى وهناخدهم ان شاء الله على مدار الفتافيت القادمة وهو الاستعلام عن اكثر من حقل فى الجدول الواحد ثم الاستعلام عن حقول متعددة ومختلفة فى جداول متعددة ومختلفة ايضا ؛ واخيرا الاستعلامات الفرعية ؛ ناخد اول شكل من الاشكال الثالثة وهنترك الاثنين الاخرين لفتفوتة اخرى ؛ اللى هنكمله اليوم هو الاستعلام عن اكثر من حقل فى الجدول الواحد ؛ وده بنستخدمه لما اكون عايز استعرض بيانات اكثر من حقل فى جدول واحد بمعنى لو استعرضنا محتويات جدول زى الموظفين فهنكتب

DESC EMP


هيظهر لي التالي :-


Name           
----------
EMPNO
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO


طيب افرض انى عايز اعرف البيانات الموجودة داخل حقلى

ENAME , SAL


دول حقلين ولكن موجودين داخل جدول واحد ؛ لما نحب نستعلم عنهم هنكتب التالي

SELECT ENAME , SAL FROM EMP ;

اذا انا بكتب الحقول اللي عايز اعرفهم وافصل ما بينهم بكوما

______ , ______ , ______ ,

مهما تعددت الحقول ؛ ملتزمين بنفس القاعدة اللى خادناها فى الفتفوتة التانية وهي الصغير ثم الكبير اى الحقل ثم الجدول ؛ وعليه يمكننا ذكر عدد لا نهائي من الحقول ولكن نفصل بينهم بكوما ؛ مثال :-

SELECT ENAME , SAL , JOB , COMM FROM EMP ;

تمام ؟
طالب :- تمام
خالد :- هنشوف وناخد حاجة جديدة وهي الالياس
ALIASE
الالياس تعني بالمصرية العامية الدارجة " الدلع " وبالفصحى " الكناية او المرادف"
تعالي نبسط المفهوم ؛ مثلا انت لو اسمك محمد هتلاقى ناس بتناديك باسم حمادة ؛ وانت بترد لما ينادوك او يقولك يا حمادة ؛ لكن هل حمادة الغي اسمك الحقيقي وهو محمد ؟ كمان احيانا بتاخد اسم شهرة يعني مثلا انا شهرتي ميجا لكن هل ميجا الغي اسم خالد ؟ طبعا لا !! طب ايه الموضوع ؟ الموضوع بباسطة فى الاوراكل بنحتاج الالياس فى حالتين :-
1 – انك تميز حقل عن حقل باسم انت بتختاره علشان تعرف تفرق بين الحقول ؛ لو انت مثلا بتستعلم عن حقلين فى جدولين مختلفين زى مثلا حقل

DEPTNO IN DEPT  TABLE & DEPTNO IN EMP TABLE

ففى جدول الموظفين حقل اسمه رقم الادارة وفى جدول الادارات حقل ايضا اسمه رقم الادارات والاثنين بنفس الحروف لما يعرض الاوراكل البيانات مش هتقدر تعرف كل حقل عائد على اى جدول ؛ وهيظهرلك النتيجة بالشكل التالي

DEPTNO     DEPTNO
---------- ----------
10 10
20 20
30 30
40 40

وهذا طبعا امر مربك وغير واضح ؛ من هنا بنضع الياس للحقل لتميز كل عن الاخر
2 – بنحتاج الالياس لتوفير الكتابة الكثيرة خاصة اذا كان الاستعلام به شروط وقيود ومن اكثر من جدول
تعالي ناخد مثال بسيط
طالب :- ياريت لاني تقريبا مش فاهم حاجة
خالد :- عادي ؛ لو اننا مثلا عايزين نعطي الياس لحقل زى حقل اسم الموظف هنكتب

SELECT ENAME X FROM EMP ;

هنا هي الالياس اللي احنا وضعناه ؛ وليك حرية اختيار الالياس اللى انت عايزه وx
على كل الحقول اللي انت عايزها يعني ممكن نحط عشر حقول بعشر الياس مثال

Select ENAME A , SAL B , JOB C , COMM C , COMM X
FROM EMP ;

هتلاقي كل حقل واخد الياس حرف مختلف ولكن لاحظ حقل رقم 3 و 4 هتلاقيهم واخدين نفس الالياس وده يدل انك ممكن تعطي اكثر من حقل نفس الالياس دون مشاكل ولكن انت اللي هتتلخبط مش الاوراكل
طالب :- طب استفادنا ايه من الالياس ؟
خالد :- لاحظ انك اختصرت الحقل فى حرف واحد ؛ وكمان ميزته ووضحته ؛ شوف الحقل الاخير هتلاقي الناتج متطابق ولكن تحت اسم مختلف وهذا التمييز هتحتاجه وبشدة فى الشغل ان شاء الله
طالب :- ينفع اعمل الياس بالعربي ؟
خالد :- طبعا ؛ شوف المثال التالي :-

SELECT SAL المرتب  FROM EMP ;


مش هيفرق اذا كان الالياس عربي ولا هندي حتى لكن اللي هيفرق انه في قواعد واشكال للالياس لازم نلتزم بيها
طالب :- زى ايه ؟
خالد :- الالياس له ثلاث اشكال وقواعد الشكل الاول والثاني وجهان لعملة واحدة ؛ وهو انك تترك مسافة واحدة على الاقل بين الالياس وبين الحقل زى المثال اللي فات تعالي نشوف الشكلين :-ASاو انك تكتب

SELECT SAL المرتب  FROM EMP ;
SELECT SAL ASالمرتب FROM EMP ;


النتيجة فى الحالتين واحدة ومش هيفرق اذا كان الالياس عربي ولا انجليزي
الشكل الثالث من الياس وهو ان لو الالياس نفسه كان اكتر من كلمة مثال :-

SELECT ENAME NAME OF EMPLOYEE FROM EMP ;

هنا الالياس مكون من اكثر من كلمة وهنا احنا امام حاجة من اتنين الاوراكل بيفرضهم علينا اما ان الالياس المكون من اكثر من كلمة يكون بين كل كلمة وكلمة مسافة او اندر سكور !!!
تعالي نشوف ؛ لو انت عايز الالياس يظهر بالمسافات زى ما انت كاتبه يبقي لازم تحط كل الالياس بين دبل كوتيشن كالتالي :-

SELECT ENAME “ NAME OF EMPLOYEE “ FROM EMP ;

وهنا تقدر تكتب اى عدد من كلمات الالياس بين الدبل كوتيشن وبرضه مش هيفرق عربي ولا انجليزي
الشكل الاخر لو انت مش عايز دبل كوتيشن ؛ قالك يبقي لازم تحط او تضع بين كل كلمة من كلمات الالياس اندر سكور كالتالي :-

SELECT ENAME NAME_OF_EMPLOYEE FROM EMP ;

وهنا تقدر تكتب اى عدد من كلمات الالياس بين الاندر سكور وبرضه مش هيفرق عربي ولا انجليزي ؛
فى حاجة كمان انت ممكن تدي او تعطي للجدول نفسه الياس كالتالي :-

SELECT SAL  X FROM EMP E ;

هنا الجدول نفسه انت اعطيته الياس ؛ وفى نفس الوقت اعطيت الحقل الياس ؛ اذا انت ممكن تعطي للجدول نفسه الياس وللحقول الياس كما تشاء ولكن وفقا للقواعد المذكورة سالفا ؛ بكده نكون خلاصنا الالياس ؛ تمام ؟
طالب :- تمااااااام
concatenation خالد :- تعالي ناخد حاجة تانية اسمها الكونكاتينشين
وده معناه الدمج بين الحقول ؛ وبنحتاج الدمج فى حاجات كتيررر جدا فمثلا فى الحياة العملية بنحتاج ان المستخدم يشوف القيم جنب ببعض رغم ان القيم دى راجعة من اكتر من حقل ؛ كمان بنحتاج الدمج فى اننا نضع الياس بجوار القيم المرتجعة !!
طالب :- يعني ايه ؟
خالد :- تعالي الاول نعرف ازاى بنعمل الدمج وبعدين نشوف استخداماته ؛ اولا فى طريقتين للدمج هناخد واحدة بس منهم النهاردة ان شاء الله ؛ قلك لو عايز اسم الموظف يظهر ومدموج معاه مرتبه مثلا فبيكون كالتالي :-

SELECT ENAME || SAL FROM EMP ;
ENAME||SAL
--------------
SMITH800
ALLEN1600
WARD1250
JONES2975
MARTIN1250
BLAKE2850
CLARK2450
SCOTT3000
KING5000
TURNER1500
ADAMS1100

ENAME||SAL
--------------
JAMES950
FORD3000
MILLER1300


هنا الاوراكل دمج الحقلين ببعض ؛ طيب لو احتاجنا ندمج اكتر من حقل برضه مفيش مشكلة ؛ شوف المثال التالي :-

SELECT ENAME ||SAL||JOB FROM EMP ;

اذا ادمج من الحقول كما تشاء
طالب :- طب والالياس هل ينفع استخدمه مع الدمج بحيث اضيف لكل حقل الياس مستقل ؟
خالد :- طبعا لأ !! فكر فيها الاول ؛ اذا كنت انت بتعمل دمج للقيم يعني كل القيم او الداتا المرتجعة هي لازقة او مدموجة فى بعض يبقي ازاى هعطي كل حقل الياس ؟ انما ممكن اعطي لكل الجملة الياس واحد كالتالي :-

SELECT ENAME ||SAL ||JOB C FROM EMP ;
C
--------------------
SMITH800CLERK
ALLEN1600SALESMAN
WARD1250SALESMAN
JONES2975MANAGER
MARTIN1250SALESMAN
BLAKE2850MANAGER
CLARK2450MANAGER
SCOTT3000ANALYST
KING5000PRESIDENT
TURNER1500SALESMAN
ADAMS1100CLERK

C
--------------------
JAMES950CLERK
FORD3000ANALYST
MILLER1300CLERK


لاحظ ان القيم او الداتا رجعه كلها تحت حرف الالياس اللي حطيناه او وضعناه وكانها حقل واحد مش ثلاثة ؛ علشان كده ماينفعش احط لكل حقل الياس انما للجملة كلها الياس واحد ؛ لكن ممكن احط فواصل او كلام بين الداتا كالتالي :-


SELECT ' THE NAME : ' ||ENAME || ' / ' || ' SALARY  IS : ' || SAL  || ' / ' || ' THE JOB : ' ||JOB  FROM EMP ; 
'THENAME:'||ENAME||'/'||'SALARYIS:'||SAL||'/'||'THEJOB:'||JOB
--------------------------------------------------------------
THE NAME : SMITH / SALARY IS : 800 / THE JOB : CLERK
THE NAME : ALLEN / SALARY IS : 1600 / THE JOB : SALESMAN
THE NAME : WARD / SALARY IS : 1250 / THE JOB : SALESMAN
THE NAME : JONES / SALARY IS : 2975 / THE JOB : MANAGER
THE NAME : MARTIN / SALARY IS : 1250 / THE JOB : SALESMAN
THE NAME : BLAKE / SALARY IS : 2850 / THE JOB : MANAGER
THE NAME : CLARK / SALARY IS : 2450 / THE JOB : MANAGER
THE NAME : SCOTT / SALARY IS : 3000 / THE JOB : ANALYST
THE NAME : KING / SALARY IS : 5000 / THE JOB : PRESIDENT
THE NAME : TURNER / SALARY IS : 1500 / THE JOB : SALESMAN
THE NAME : ADAMS / SALARY IS : 1100 / THE JOB : CLERK

'THENAME:'||ENAME||'/'||'SALARYIS:'||SAL||'/'||'THEJOB:'||JOB
--------------------------------------------------------------
THE NAME : JAMES / SALARY IS : 950 / THE JOB : CLERK
THE NAME : FORD / SALARY IS : 3000 / THE JOB : ANALYST
THE NAME : MILLER / SALARY IS : 1300 / THE JOB : CLERK

عايزك تكون فاهم ان الكلام اللي انت وضعته بين الداتا ليس له علاقة لا من قريب ولا من بعيد بالداتا بيز انما فقط هو توضيح لك وللمستخدم وده بنحتاجه كتير فى التقارير لانك بتخاطب المستخدم العادي بشكل مبسط وجميل
بكده نكون خلصنا النهاردة والحمد لله ؛ تمام ؟
طالب :- تمااااااااااااااام !!!
------
[center]وشكرا
م / خالد الشاذلي
مبرمج اوراكل بوزارة الانتاج الحربي
IT Manager 1Solution Group
0122512071
khaled.elshazly@1solution.org
eng-mega@hotmail.com[/center]

تم التعديل بواسطة khaledmega, 17 September 2009 - 01:53 AM.


من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#2 samia

samia

    مشترك

  • الأعضــاء
  • 82 مشاركة

تاريخ المشاركة 17 September 2009 - 04:36 AM

بارك الله لك وجعله فى ميزان حسانتك واوسع رزقك وبارك لك فى ذريتك
عمل يستحق التقدير والاحترام

#3 جلال شواقفه

جلال شواقفه

    عضو مميز

  • الأعضــاء
  • 2,559 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 17 September 2009 - 09:36 AM

اسلوب حلو وسلس ومميز
كل عام وانتم بخير
ارجو من يستفيد من مشاركاتي الدعاء لوالدي ولاموات المسلمين بالمغفره والرحمه......

جلال محمود شواقفه
مدير دائرة الحاسوب
بلدية المفرق الكبرى
المملكه الاردنيه الهاشميه.

#4 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 19 September 2009 - 02:48 AM

السلام عليكم
الف شكر للاستاذة سامية والاستاذ jll على كلماتك الطيبة ؛ فلقد شوهد وقرء الدرس لاكثر من 97 شخص ولم يبدي احد رائيه سواكم فلكم جزيل الشكر
وشكرا
ميجا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي


#5 J.DEV

J.DEV

    عضو

  • الأعضــاء
  • 15 مشاركة

تاريخ المشاركة 22 September 2009 - 07:15 PM

تسلم ايدك يا باشمهندس

والله العظيم شرح ممتع جدا جدا

والواحد بيعمل ريفيشن باسلوب كويس

ربنا يباركلنا فيك

وكل سنة وحضرتك طيب

ومنتظرين باقي الفتافيت

صورة


#6 makhlouf

makhlouf

    مشترك

  • الأعضــاء
  • 89 مشاركة

تاريخ المشاركة 23 September 2009 - 10:34 AM

جزاك الله خيرا يا اخي على الشرح المفصل و جعله الله في ميزان حسناتك
لن ننساك يا قدس و فينا نبض الحياة
يا رب ارزقنا صلاة في القدس الشريف آميـــن


#7 khaledmega

khaledmega

    عضو مميز

  • الأعضــاء
  • 838 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 24 September 2009 - 10:23 PM

جزاكم الله كل خير على ردودكم الكريمة وان شاء الله موعدنا قريبا مع الفتفوتة الرابعة
وشكرا

من أهـم مواضــيعي :



نفسك تسطب اوراكل 10g وبالصور وتربط بين الداتابيز والديفولبر ؟


للأستفسار عن أى شيء يخص الأوراكل أبس أو اوراكل ديفولبر راسلنى على

e
ng-mega@hotmail.com

 

Oracle Apps Techno-Functional Consultant


Oracle Developer & Instructor

 

Instructor At Next Academy

 

محاضر معتمد لدي نكست أكاديمي

OCA - OCP

م / خالد الشاذلي