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

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

صورة
- - - - -

شرح مبسط للأمر SELECT مع بعض الأمثلة


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

#1 ولـــيد

ولـــيد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 374 مشاركة

تاريخ المشاركة 24 April 2004 - 08:21 PM

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

والصلاة والسلام على اشرف الخلق وسيد المرسلين محمد صلى الله عليه وسلم فصلو عليه ياعبادالله اجمعين.
اما بعد :

من يوم غد ان شاء الله سوف اقوم باذن الله على عمل حلاقات في للغة الاستعلام المعروفه لدينا وهي SQL ولكن سوف ابدا من حيث توقف اخي العزيز الاسيف واسئل الله عز وجل ان يعنني على ذلك واتمنى من الاخوه والاخوات الاجتهاد معي والتطبيق معاً حتى نصل الى المستوى المطلوب بأذن الله .

طبعا نقوم بعمل الدورس على نسخة اوكل 9i وبالتحديد عن طريق iSQL عن طريق المتصفح لسهولة حفظ الاوامر او اي برنامج من برامج الاوركل ولكن اهم شي طريقة عمل الاستعلام .


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

تقبلوا تحياتي. :D

:. سبحان الله وبحمده سبحان الله العظيم.
إذا ماخلوت الدهر يوما فلا تقل --- خلوت ولكن قل عليَّ رقيب
ولاتحسبن الله يغفـــــل ساعـــــة --- ولا أن ما يخفى عليه يغيب

#2 ولـــيد

ولـــيد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 374 مشاركة

تاريخ المشاركة 25 April 2004 - 06:39 PM

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

والصلاة والسلام على اشرف الخلق اجمعين محمد عليه افضل الصلاة والتسليم صلو على الحبيب يالاحباب
اولا احب انبه على شي مهم جدا جدا في الاوركل الا وهو التركيز على صيغت syntax الاوامر في SQL Plus لانه ليس المطلوب مننا حفظ الاوامر ولكن المطلوب فهم الاوامر فقط .

طبعا كما اتفقنا سابقا على انه سوف اقوم بالشرح على نسخة الاوكل 9i ولا يوجد فرق كبير بينها وبين الاصدار
8i ...

ايضا كما اتفقنا سابقا انه سوف ابدا من حيث ماتوقف الاخ الاسيف حفظه الله .

اذا فالنسمي بالله ونبدأ:

طبعا لكي نقوم بتطبيق الاوامر في الاوركل يجب تنزيل IIS اول قبل الاوركل ثم نستخدم iSQL Plus لكي نعمل عليه ويتم تشغيله عن طريق المتصفح وطريقة تشغيله كالتالي :

1- تشغيل السيرفر من البرامج والذي اسمه Oracle HTTP Server |------> Start HTTP Server powered by Apache . طبعا يكون في وضع التشغيل من وحده .
2- نذهب الى المتصفح ونكتب التالي : http://YourComputerName:port/isqlplus
ومثال ذلك http://pc:7778/isqlplus طبعا pc اسم جهازك لكي تتعرف عليه اضغط على خصائص جهاز الكمبيوتر على سطح المكتب ،، طبعا يتبين لك هذا كله عند الانتهاء من تنزيل الاوركل من البدايه ((راجع درس الاخ عمر)).
3- بعد التشغيل المتصفح على iSQL Plus ندخل اسم المستخدم المعلموم لدينا والرقم السري
User \ scott
Password \ tiger
الان انتهينا من تشغل بيئة iSQL.


نمط الاستعلام syntax
Select   الوصف from اسم الجدول   ;

الخطوات لكتابة الاستعلام :
- select.
- الوصف او طريقة العرض.
- from . أي من الجدول المطلوب .
- اسم الجدول وعلى سبيل المثال Emp
- فاصله منقوطه ; وهي مهمه جدا جدا للتعبير على انه انتهى الاستعلام .

مثال :

نريد عرض جميع اسماء الجداول في قاعدة البيانات( ملاحظة علامة * تعني جميع او كل ).

Select * from tab;


طبعا النتائج تكون عرض لجميع الجداول في قاعدة البيانات .
اذا ربما اتى في ذهنك هل يمكنك استخدام نفس المثال مع اسماء الجداول المعروضه في النتائج بالطبع نعم
قم بتبديل اسم الجدول tab الى أي اسم من اسماء الجداول المعروضه لديك .

اذا انتهى درس اليوم وان شاء الله اكون قد عملت مابوسعي وان شاء الله ينال على اعجابكم . :D
تقبلوا تحياتي.

:. سبحان الله وبحمده سبحان الله العظيم.
إذا ماخلوت الدهر يوما فلا تقل --- خلوت ولكن قل عليَّ رقيب
ولاتحسبن الله يغفـــــل ساعـــــة --- ولا أن ما يخفى عليه يغيب

#3 ولـــيد

ولـــيد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 374 مشاركة

تاريخ المشاركة 26 April 2004 - 11:57 AM

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

اليوم ان شاء الله اقوم بأعطاء امثله وهي الطريقة المثلى في الاوركل

طيب بسم الله نبدأ:

طبعا الامثله بتكون على الجدولين التاليين
Dept
Emp

الصيغة لعرض الاعمدة Syntax

select اسم العامود الاول ,اسم العامود الثاني from اسم الجدول ;


طبعا تقدر تعرض عامود واحد او اكثر من عامود ولكن اهم شي يكون بينهم فواصل

طيب لو طلب منك عرض عامودين من جدول ما وليكن الجدول
dept

التطبيق:

select deptno,dname from dept;


deptno=اسم عامود داخل الجدول
dname=ايضا اسم عامود داخل جدول

طيب ننتقل الى جدول
emp
طبعا يفضل عرض جميع البيانات داخل الجدول لكي تتعرف على اسماء الاعمده == راجع الحلقه الثانية

التطبيق:

select empno,ename,sal from emp;


طيب التطبيق يعيد لنا ارقام الموظفين و اسمائهم ورواتبهم كما هو مبين في الاستعلام

طيب لو سألتك وقلت لك اضف على راتب الموظفين يااخي الكريم 50 طبعا ريال مو الف ريال :D اش راح تعمل ؟

اليك التطبيق

select sal,(sal+50) from emp;


طبعا يعرض الاستعلام لك الراتب القديم والراتب بعد الاضافه عليه

وبكذا انتهى درس اليوم وهو الحلقه الثالثه ...وانتظرو الحلقه الرابعه وبتكون دسمه شوي :D

:. سبحان الله وبحمده سبحان الله العظيم.
إذا ماخلوت الدهر يوما فلا تقل --- خلوت ولكن قل عليَّ رقيب
ولاتحسبن الله يغفـــــل ساعـــــة --- ولا أن ما يخفى عليه يغيب

#4 ولـــيد

ولـــيد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 374 مشاركة

تاريخ المشاركة 30 April 2004 - 03:16 PM

بسم الله الرحمن الرحيم والصلاة والسلام على اشرف الخلق أجمعين محمد صلى الله عليه وسلم ابن عبدا لله فصلوا عليه ياعباد الله .

اليوم الحلقة الرابعة وبتكون تطبيقات على ماسبق ومع إضافات جديدة وان شاء الله يستفيد منها الإخوان ...

بسم الله نبدأ مع جدول emp :

إذا طلب منك ضرب الراتب في 20 وإضافة فوق الناتج 300 ريال الحل :

Select ename,20*sal+300 from emp;


طبعا بتخرج لك النتائج في عامودين الأول ename والثاني 20*sal+300 ولكن الا ترى انا اسم العامود الثاني غير لائق وعند تقديمه للمدير هل يفهم هذا الشي اذا لكي نعطي اسم للعامود جدا الامر سهل في غاية السهوله شاهد الحل :

Select ename,20*sal+300 SALARY from emp;


Select ename,20*sal+300 "NEW SALARY" from emp;


لاحظ الاستعلام الاول سمينا العامود SALARY كلمه واحد .
لاحظ الاستعلام الثاني سمينا العامود NEW SALARY بين علامتي تنصيص ورد في ذهنك سؤال لماذا وضع علامتي تنصيص ؟

الاجابه بكل سهوله لان اسم العامود يحتوي على كلمتين ،، اذا كلمه واحد ليس داعي هناك لعلامة التنصيص .

طيب اذا طلب منك دمج عامودين في عامود واحد ماذا تتوقع الحل ؟؟؟

كالمعتاد الحل سهل جدا جدا شاهد مايلي

Select ename||job from emp;


اذا كذا تم دمج عامودين مع بعض ولكن ربما البعض عندما يرى النتائج يظن انها كلمه واحد ويتهوا بعض الشي طيب لماذا لا نضع بين العامودين جمله توضيحية ؟؟؟
اليك الحل :

Select ename||' His Job Is '||job from emp;


شاهد النتائج الان اليس بشيء ممتع !!

طيب مرائيك بمنع التكرار في الاستعلام ؟؟
جدا سهل ...

الان نعرض جميع الاقسام في جدول emp

Select deptno from emp;


لاحظ النتائج يوجد بها تكرار اذا كنت تريد منع هذا التكرار شاهد الاستعلام

Select distinct deptno from emp;


الامر distinct يمنع التكرار باختصار .
ولاحظ النتائج بنفسك بين الامرين.

الان سنبدأ باستخدام الشروط داخل الاستعلام لاتتصور الامر جدا صعب بل في غاية السهوله ولكن يحتاج منك الفهم فقط .

اذا طلب منك عرض جميع اسماء الموظفين الذين في القسم رقم 10 ؟

Select ename from emp Where deptno=10;


شاهد النتائج عرض لك جميع اسماء الموظفين في القسم رقم 10
طيب اذا طلب منك القسم رقم 20 وراتب اعلى من100 ؟


Select ename,sal from emp Where (deptno=20 and sal>100);


طيب اذا طلب منك عرض راتب الموظفين الذي راتبهم اكبر من 1000؟

Select ename,sal from emp Where sal>100;


طيب اذا طلب منك عرض راتب وعمل الموظف SMITH ؟؟
Select ename,sal,job from emp Where ename='SMITH';


ملاحظه مهمه جدا يجب الانتباه لحالة الاحرف من حيث كبتل و سمول لأسم الموظف .

طيب بقى لنا الشيء القليل في هذه الحلقة ...

اذا طلب منك عرض اسماء الموظفين بين الراتب 1000و 200 ؟

Select ename ,sal from emp Where sal between 1000 and 2000;


ملاحظه مهمه جدا : يجب الترتيب في الاستعلام بعد كلمة between وضع القيمه الاصغر وبعد and وضع القيمه الاكبر .

طيب اذا طلب منك عرض اسماء الموظفين الذي رواتبهم 1000 و 2000و 3000؟

لاحظ اكثر من قيمتين لانستطيع استخدام between ولكن نستخدم كلمة in

Select ename,sal from emp Where sal in(1000,2000,3000);


In أي عرض اسماء الموظفين التي رواتبهم محدده بين الاقواس.


وبكذا انتهى درس اليوم وارجو من الاخوان المتابعين للحلاقات التطبيق قبل الدخول في الجديد من الحقات .
وان شاء الله اكون نفعت اخواني في المنتدى بهذه الدروس واسأل الله عز وجل ان يتقبل منا .

تقبلوا تحياتي :D

تم التعديل بواسطة Microsaudi, 30 April 2004 - 05:33 PM.


:. سبحان الله وبحمده سبحان الله العظيم.
إذا ماخلوت الدهر يوما فلا تقل --- خلوت ولكن قل عليَّ رقيب
ولاتحسبن الله يغفـــــل ساعـــــة --- ولا أن ما يخفى عليه يغيب

#5 developer

developer

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 315 مشاركة
  • الاسم الأول:M
  • اسم العائلة:Almuflehi
  • البـلـد: Country Flag

تاريخ المشاركة 01 May 2004 - 09:20 AM

THANKS MY FRIEND
...... بالتوفيق ...

#6 arab20002000

arab20002000

    عضو نشط

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

تاريخ المشاركة 01 May 2004 - 09:25 AM

مشكور و جزاك الله الف خير

#7 عبداللطيف

عبداللطيف

    مــشــرف عــام

  • الإشراف العام
  • 1,267 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 May 2004 - 09:45 AM

مشكور اخي والى مزيد من الدروس

#8 ولـــيد

ولـــيد

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 374 مشاركة

تاريخ المشاركة 01 May 2004 - 11:38 AM

مشكورين ياشباب
توفي ماشاء الله عليك متابع اول بااول :D

:. سبحان الله وبحمده سبحان الله العظيم.
إذا ماخلوت الدهر يوما فلا تقل --- خلوت ولكن قل عليَّ رقيب
ولاتحسبن الله يغفـــــل ساعـــــة --- ولا أن ما يخفى عليه يغيب

#9 MohdElhassan

MohdElhassan

    عضو

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

تاريخ المشاركة 27 August 2004 - 04:38 PM

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

والحمد لله على جزيل نعمائه وعطائه

عزيزي الفاضل / Microsaudi

مشكووووووووووووووووووووووووور أخي العزيز على هذه الدروس المفيدة لك الشكر والتحية .
محمد الحسن
------------------
أوراكل للجميع
------------------
ومابكم من نعمة فمن الله .
--------------------------------

#10 wad_altayeb

wad_altayeb

    عضو

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

تاريخ المشاركة 19 September 2004 - 01:11 PM

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

الاخ الفاضلMicrosaudi
مشكور جدا علي هذه المواضيع الشيقة ونطلب منك المزيد انشاء الله


#11 ملاح

ملاح

    عضو

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

تاريخ المشاركة 17 February 2005 - 12:18 PM

مشكور اخي العزيز ونتمني المذيد :angry:

#12 سامح الرشيدي

سامح الرشيدي

    عضو

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

تاريخ المشاركة 23 March 2005 - 04:13 AM

جزاك الله خيرا

#13 ثناءقمر

ثناءقمر

    عضو

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

تاريخ المشاركة 05 May 2005 - 11:23 AM

تسلم على الدرس الممتع ويعطيك العافية ولا تتوقف

ملفات مرفقة