مـنـتـديـات جـريـح الـمـشـاعـر
مــرحبا بكم في منتديات جريح المشاعر .. نتمنى لكم قضاء امتع الاوقات ..

ان كنت عضو في المنتدى فضغط كلمة الدخول .. وانت كنت زائر ورغبت في مشاركتنا

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

ان كنت عضو في المنتدى فضغط كلمة الدخول .. وانت كنت زائر ورغبت في مشاركتنا

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

مـنـتـديـات جـريـح الـمـشـاعـر

www.jre7almsha3r.com
 
البوابةالرئيسيةالتسجيلأحدث الصوردخول
» ta7iya lil jamo3شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالجمعة مايو 30, 2014 10:33 am من طرف » عودة بعد غيابشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأحد يوليو 03, 2011 10:44 am من طرف » من رسومات المستشرقينشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالثلاثاء يونيو 28, 2011 4:23 pm من طرف » تروح وتترك كل شئ حواليكشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 20, 2011 12:17 pm من طرف » سامحيــــــــــــــنيشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 20, 2011 12:13 pm من طرف » (ااالبنت مهما قست بتظل .. حساسةشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالخميس أبريل 07, 2011 12:00 am من طرف » لااعرف ماذا اكتب ....شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 06, 2011 11:41 pm من طرف » لا لتنصدم في بسمتي يوم احاكيكشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 06, 2011 11:28 pm من طرف » قولي و أنا أسمع كل ما تقولينشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 06, 2011 11:20 pm من طرف » قولو للـــــــــــــغالــــــــــــي قولو لــــــــــــــه (ارجو الدخول)شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأربعاء أبريل 06, 2011 10:47 pm من طرف » اضحك وفرفششرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأحد أبريل 03, 2011 12:17 pm من طرف » قصيده كتبها واحد معقد من المكياج...شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأحد أبريل 03, 2011 12:01 pm من طرف » ما رأيك بدعاء اذا دعوته تمضي سنه ولا تستطيع الملائكه الانتهاء من كتابة‏شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالإثنين مارس 07, 2011 2:01 pm من طرف » تباددل اعلانشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالإثنين يناير 10, 2011 2:54 pm من طرف » يا فارج الهمشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالأحد يناير 02, 2011 8:09 pm من طرف

شاطر | 
 

 شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني

استعرض الموضوع التالي استعرض الموضوع السابق اذهب الى الأسفل 
كاتب الموضوعرسالة
 

بيانات العضو

(معاشر الذيب? )
المدير التنفيذي
المدير التنفيذي
(معاشر الذيب? )

معلومات العضو

الشكر من الاعضاء الشكر من الاعضاء : 0
ذكر
عدد الرسائل : 3212
العمر : 35
الموقع : قـــطــر دار الــعــز والــفــخــر
العمل/الترفيه : كتابة الشعر والخواطر
المزاج : رااااايق
وسام : شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Untitl11
وسام المسابقه الرمضانيه : شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Untitl11
المزاج : شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني 78imag10
SMS : <!--- MySMS By AlBa7ar Semauae.com -->
<form method="POS
الدوله : شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Qatarc10
البلد : : قـــــــطــــــــر
دعاء : شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Fp_0510
نقاط الاعضاء حسب نشاطهم بالمنتدى : 6465
تاريخ التسجيل : 07/02/2008

إعلانات المنتديات

معلومات الاتصال

http://www.jre7-almsha3r.com
مُساهمةموضوع: شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني   شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Emptyالجمعة يوليو 25, 2008 7:14 am


تحدثنا في الموضوع السابق عن :
نقاط معينه تخص لغة الـ sql
منها...
شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني A5a

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


ا
للرجوع له ..
7
7

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

وسنتحدث الان عن :
(( الدوال- SQL Functions))
بشكل عام ..

ولكن قبل البدء في الدوال دعونا نتحدث بشكل سريع عن
الترتيب في هذه اللغه ...

الترتيب:
كما هو معروف اما تصاعدياً او تنازلياً
في عمليه الترتيب نستخدم الامر((order by))
نكتب هذا الامر بعد اسم العمود
وهنا يعطينا ترتيباً تصاعدياً( اي يفرز البيانات تصاعدياً)
اما في حالة الفرز التنازلي يضاف امر يسمى الـ (DESC) بعد الامر (order by)
( كما يمكننا في حالة الفرز التصاعدي اضافه الامر (ASC) بعد الامر (order by)

وللتوضيح لنأخذ الامثله التالية :

مثال -1- ( للترتيب التنازلي )
اكتب بلغة الـ SQL استعلام لعرض اسم الموظف والراتب مرتبة البيانات تنازليا حسب الراتب؟

الحل :

select ename,sal
from emp
order by sal DESC;l



توضيح الحل :
emp-----> كما اوضحنا سابقاً اسم العمود ( عمود الموظفين )
ename-----> اسماء الموظفين
sal---------> الراتب
order by sal DESC;l----> نوع الترتيب ( وتخصيصه- الراتب )
اذن....
طلبنا الاستعلام عن اسماء الموظفين + رواتبهم
من جدول الموظفين
مرتبه ترتيباً تنازلياً حسب الراتب ;


مثال -2- ( للترتيب التصاعدي )
اكتب استعلام بلغة الـ SQL لعرض اسم الموظف والراتب مرتبة البيانات تصاعديا حسب الراتب؟

الحل :


select ename,sal
from emp
order by sal;l



توضيح الحل :
emp-----> كما اوضحنا سابقاً اسم العمود ( عمود الموظفين )
ename-----> اسماء الموظفين
sal---------> الراتب
order by sal ;l----> نوع الترتيب ( وتخصيصه- الراتب )
اذن....
طلبنا الاستعلام عن اسماء الموظفين + رواتبهم
من جدول الموظفين
مرتبه ترتيباًتصاعدياً حسب الراتب;






اضاف الاخ Hish@m مشكور لامر الـGroup
وشرحه كان كالتالي :

<BLOCKQUOTE>
اقتباس:





كاتب النص الاصلي : Hish@m
الامر group :

فائدته :

في حال اراد مستخدم قواعد البيانات ان يستعلم عن الاقسام مثلا في المؤسسة و من فيها من موظفين

يمعنى انه يريد ان يرى من في الاقسام كلها من موظفين مرتبة حسب القسم

يستخدم الامر group

مثال :

استعلم لي عن رقم مشروع و اسم المشروع و عدد من يعمل في هذه المشاريع مرتبة حسب رقم و اسم المشروع ؟

الحل :




SELECT PNUMBER,PNAME,COUNT
FROM PROJECT,WORKS_ON
WHERE PNUMBER = PNO
GROUP BY PNUMBER,PNAME;l




حيث ان:
PNUMBER هو رقم المشروع في الجدول PROJECT
و PNAME هو اسم المشروع في نفس الجدول
و PROJECT و WORKS_ON هي جداول في قاعدة البيانات

هنا في المثال

النتائج من هذا الاستعلام ستكون كالتالي

رقم المشروع اسم المشروع عدد الموظفين فيه


و مشكوورة على وقتك

هشام


</BLOCKQUOTE>


واضاف لنا الامر :HAVING
وشرحه كان كالتالي :


<BLOCKQUOTE>
اقتباس:



كاتب النص الاصلي : HiSh@m


الامر HAVING

وظيفته :

ياتي غالبا او دائما مع GROUP و هو لكي ناخذ من القروب جزء معين

مثلا : نريد ان نستعل عن الاقسام اللي عدد موظفيها فوق 20 موظف مرتبة في مجموعات ..

نستخدم HAVING

مثال
لكل مشروع يعمل به اكثر من 5 موظفين , اعرض لي رقم المشروع و اسمه و عدد موظفينه الذين يعملون فيه

الحل :


SELECT pnumber,pname,count(*)l
FROM project,works_on
WHERE pnumber=pno
GROUP BY pnumber,pname
HAVING count(*) > 5 ;l



هنا نفس السابق حيث انه في السؤال طلب الاستعلام عن رقم المشروع و اسمه و عدد الموظفين ووضعناها في الجملة SELECT
و اختارنها من الجداول اللتي هي موجودة فيها project,works_on
و ربطنا الجدولين بالامر pnumber=pno
و وضعنها في مجموعات باستخدما الامر GROUP BY
و استبعدنا اي مشروع عدد موظفينه اقل من 5 باستخدم الامر


</BLOCKQUOTE>




اخ هشام ..تشكر على اهتمامك .. ومشاركتك شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Smile
الي بالفعل اثلجة صدري ..
اما بالنسبه للامر ((order by ))
فأنا شرحته في نسختي الثانيه.. ولا انكر ان شرحك كان رائع فيه
لكن حبيت ان الموضوع يكون متكامل بدون تكرار شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Smile.. تحياتي لك ،،،








والان لندخل بالدوال ((FUNCTIONS))

بصورة عامه الدالة هي :
هي داله لها اسم وتقوم بوظيفة معينة على البيانات الموجودة ثم تعود لنا بالنتيجة.
ملاحظة ... الداله تاخذ وسيط او اكثر ولكن النتيجة تكون قيمه واحدة فقط‍!

الدوال العددية ..
لناخذ اهمها وهي :
1-Round-------> وظيفتها تقريب الاعداد الكسريه الى اي قيمه عشرية تحدد للدالة
2-Trunc-------> وظيفتها قطع اي جزء عشري من الاعداد الكسرية بدون تقريب .
3- Mod--------> وظيفتها ايجاد باقي قسمة الاعداد الصحيحة.

امثلة عليها :

للداله (Round) :

Round(46.977.1)l

الناتج يكون :
46.98

للداله ( Trunc)

Trunc(46.977.1)l
الناتج يكون :
46.97

الداله (Mod)

Mod(1600.300)l
الناتج يكون :
1000

مثال اخر للتوضيح بشكل سريع :
اكتب استعلام لعرض اسماء ورواتب وعمولة الموظفين وباقي قسمة الرواتب والعمولات للموظفين الذين وظيفتهم 'salesman'؟

الحل :


select ename,sal,comm,mod(sal,com)l
from emp
where job= 'salesman';l




توضيح الحل :
1- اسماء الموظفين ونرمز لهم بالرمز ------->ename
2- رواتب الموظفين ونرمز له بالرمز --------> sal
3- عموله الموظفين ونرمز لها بالرمز -------> comm
4- باقي قسمة الرواتب والعمولات -----------> mod(sal,com)l
5- من جدول الموظفين ونرمز له بالرمز -----> emp
6- بشرط ! وهو ان نوجد باقي قسمة الرواتب والعمولات للمظفين الذين وظيفتهم 'salesman'; فقط !



الدوال الحرفية :
تعريفها ... هي دوال تأخذ وسائط (حرفية) وتعود بقيمة معينه حسب وظيفة كل دالة
ملاحظه .. يمكن النواتج تكون (حروف او ارقام )

الدوال الحرفيه تنقسم الى قسمين ..
أ-
دوال التحويل
ب-
دوال تناول البيانات

دوال التحويل :
1- lower
2- upper
3- intcap

دوال تناول البيانات وهي :
1- concat
2- substr
3- length
4- instr
5- lpad

ولنأخذ الان كل داله مع شرح مبسط لها :

1- lower-------> تحويل البيانات النصيه من حروف كبيره الى صغيره ( اي من A, الى a)
مثال على ذلك : اكتب استعلام يعرض اسماء الموظفين بحروف كبيره ؟
الحل :

select lower(ename)l


2- upper-------> تحويل البيانات النصيه من حروق صغيره الى حروف كبيره ( اي من aالى A)- عكس الـLOWER
مثال على ذلك:
اكتب استعلام يعرض اسماء الموظفين بحروف صغيره ؟
الحل :

select upper(ename)l


3- intcap------> تحويل اول حرف من البيانات النصيه الى حروف كبيرة وباقي الكلمه الى حروف صغيره( اي من eqlaاوAQLAالى Aqla)
مثال على ذلك:
اكتب استعلام يعرض اول حرف من الوظيفه بحرف كبير وبقيه الاحرف صغيره؟

الحل :


select intcap(job)l



دوال تناول البيانات

1- concat -------->تعني جمع سلسلتين نصيتين في عمود واحد
مثال على ذلك :
اكتب استعلام يعرض عمود الاسماء وعمود الوظائف في عمود واحد؟
الحل :

select concat(ename,job)l


2- substr------>تعني عرض حروف معينه من الكلمه تبداء من ارقام محدده
( يعني مثل اقول اطبع لي الكلمه من حرف رقم1 الى الحرف رقم 5 )
مثال على ذلك :
اكتب استعلام يعرض لنا الحروف منالحرف رقم 1 الى الحرف رقم 4؟
الحل :

select substr(job,1,4)l

3- length ------>تعني عدد الاحرف المكونه للكلمه
مثال على ذلك :
اكتب استعلام بعرض عدد احرف اسم كل موظف ؟
الحل :

select length(ename)l


4- instr------->تحديد مواقع الاحرف( يعني ممكن نحدد حرف نبيه من الكلمه ونقول له وين مكانه من الجمله؟
مثال على ذلك :
اكتب استعلام يوضح موقع الحرف 'Q' من كلمه اقلاع
الحل :

select instr(eqla,'q')l


لنأخذ امثله شامله لها :

مثال شامل-1- :اكتب استعلام يعرض اسماء الموظفين لحروف صغيره، واول حرف من الوظيفه كبير وبقية الاحرف صغيرة ،
وعدد احرف اسم كل موظف ، وضم عمودي الراتب والعمولة في عمود واحد ؟

الحل :


select lower(ename),initcap(job),length(ename),concat(sal,comm)l
from emp;l




مثال شامل -2- :اكتب استعلام لعرض اسماء الموظفين، واسمائهم ووظائفهم معاً، وعرض عدد حروف اسم كل موظف،:
وعرض موقع الحرف 'A' من اسماء الموظفين للموظفين الذين وظيفتهم SALESMAN؟

الحل :


select ename,concat(ename,job),length(ename),instr(ename,'A')l
from emp
where job='salesman';l



ملاحظات على الحل :
وجود شرط فيه !

دوال التاريـــــــــــــ 'DATE FUNCTION' ـــــخ

لمحه سريعه عنها:
يتم تخزين التاريخ في جدول يسمى الـDUAL لذلك يجب ان تتم عملية استرجاع التاريخ من الجدول
المسمى 'DUAL'

ودوال التاريخ هي :
1- الداله ........... SYSDATE
2- الداله ...........DAY_NEXT
3- الدالة ...........DAY_LAST
4- الدالة .....MONTHS_BETWEEN

لنشرحها بالتفصيل :

اولاً : الداله ........... SYSDATE
تعود بنا هذه الداله الى تاريخ اليوم الحالي
والشكل العام لها ....

select sysdate
from dual;l



ملاحظه : نلاحظ هنا وضعنا اسم الجدول dual;

مثال :
اكتب استعلام يعرض اسماء الموظفين وتواريخ تعينهم، ثم عرض تاريخ التعين +8 ايام، وعرض التاريخ- 7 ايام،
وعرض عدد الايام من تاريخ تعينه حتى التاريخ الحالي ؟

الحل :


select ename,hiredate,hiredate+8,hiredate-7,(sysdate-hiredat)l
from emp;l




2- الداله ...........DAY_NEXT
هذه الدالة تقوم بعرض اول تاريخ تالي للتاريخ المعطى.
الشكل العام لهذه الداله.

next_day(datecoloumn,dayname)l
ملاحظه ...
datecoloumn= التاريخ الموجود داخل الجدول ويوضع بين حاصرتين علويتين .
dayname =اسم اليوم المعطى ويجب وضعه بين حاصرتين علويتين.

مثال :
اذا كان التاريخ هو 1981/6/10 وطلب من الجهاز تحديد التاريخ الذي يصادف يوم الجمعه من نفس الشهر؟

الحل :

select next_day('10-june-81','friday');l
from dual;l






3- الدالة ...........DAY_LAST

نقصد بها ايجاد اليوم الاخير من كل شهر.

مثال :
اكتبي استعلام لعرض اليوم الاخير من شهر تعيين كل موظف ؟

الحل :

select last_day(hiredate)l
from emp;l




4- الدالة .....MONTHS_BETWEEN
نقصد بها ايجاد عدد الاشهر بين تاريخين يتم اعطائهم للدالة .
الشكل العام :

MONTHS_BETWEEN (date1,date2)l



ملاحظه ...
date1= التاريخ الاول او اسم العمود
date2=التاريخ الثاني او اسم العمود

مثال :
استعلام يعرض عدد الاشهر بين تاريخ التعيين والتاريخ الحالي ؟

الحل :

select MONTHS_BETWEEN( sysdate,hiredate)l
from emp;l




مثال شامل لدوال التاريخ :
استعلام لعرض رقم الموظف، تاريخ التعيين ، عدد الاشهر التي قضاها منذ تاريخ التعيين وتاريخ اول يوم جمعه بعد تعيينه،
واخر يوم من شهر تعيينه للموظفين الذين مر على تعيينهم اقل من 400 شهر ؟

الحل :

select empno,hiredate,months_between(sysdate,hiredate),next_date(hiredate,'friday),last_date(hiredate)l
from emp
where month_between(sysdate-hiredate<400);l




نكتفي بهذا القدر حاليا..
وفي الموضوع القادم سنتحدث عن ..
الدوال العامه
الربط
الجداول ( من انشاء ، تعديل ، حدف ، اضافه اعمدة، اضافة صفوف)


اذا ربي مد لنا بالعمر
وقضينا اختباراتشرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Icon4
لان الطبع على الجهاز بالحاله يكسر الظهر
بأستثناء الامثله .. وتركيبها .. وحلها
تصدقون وانا اشرح لكم ..
حصلت اغلاط وش كثرها
بروح اراجع الدكتور الي درسنا المادة وبفقع عينه
تحياتي للجميع
واخيراً ..
اذا عندكم اي ملاحظات على الشرح
لاحظتوا اغلاط .. لا تسكتون .. افقعوا عيني شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني Biggrin
تحياتي للجميع
مـنـتـديـات جـريـح الـمـشـاعـر
(معاشر الذيب? )
الرجوع الى أعلى الصفحة اذهب الى الأسفلضع اعلانك هنا نصي او بنري او اعلان لجوجل
 

شرح مبسط للأوراكل- الاستعلام بـ (لغة SQL) الجزء الثاني

استعرض الموضوع التالي استعرض الموضوع السابق الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

(( مَا يَلْفِظُ مِنْ قَوْلٍ إِلَّا لَدَيْهِ رَقِيبٌ عَتِيدٌ))


صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
مـنـتـديـات جـريـح الـمـشـاعـر :: ~¤ô¦¦§¦¦ô¤~منتديات عالم التكنولوجيا ~¤ô¦¦§¦¦ô¤~ :: قسم الانترنت والبرامج-