منتدى اهل الكرك

اهلا و سهلا بك في منتدى اهل الكرك
يسعدنا انظمامك الينا
<<اذا لم يتم وصل رسالة التفعيل الى بريدك الالكتروني
خلال 24 ساعه سوف يتم تفعيلك من قبل الادره >>

انضم إلى المنتدى ، فالأمر سريع وسهل

منتدى اهل الكرك

اهلا و سهلا بك في منتدى اهل الكرك
يسعدنا انظمامك الينا
<<اذا لم يتم وصل رسالة التفعيل الى بريدك الالكتروني
خلال 24 ساعه سوف يتم تفعيلك من قبل الادره >>

منتدى اهل الكرك

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

من الكرك انطلقنا الى جميع العرب

توقيت منتدى اهل الكرك

دخول

لقد نسيت كلمة السر

تصويت

هل تؤمن بالحب من أول نظرة؟
نقاط معينه تخص لغة الـ sql Bar_right72%نقاط معينه تخص لغة الـ sql Bar_left 72% [ 18 ]
نقاط معينه تخص لغة الـ sql Bar_right28%نقاط معينه تخص لغة الـ sql Bar_left 28% [ 7 ]

مجموع عدد الأصوات : 25

المواضيع الأخيرة

» غرف اطفال تعالو شوفو
نقاط معينه تخص لغة الـ sql I_icon_minitimeالسبت يوليو 26, 2014 1:48 am من طرف هبه

» الدعاء للميت في الصلاة عليه
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 10:30 pm من طرف هبه

» عند زيارة القبور
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 10:17 pm من طرف هبه

» قصة فتاه تبلغ من العمر 27 سنه
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 9:58 pm من طرف هبه

» مطل العشاق
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 8:04 pm من طرف هبه

» اصنع حياتك
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 7:40 pm من طرف هبه

» شخصيات بارزه
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 5:15 pm من طرف هبه

» عبارت ترحيب رومانسية للترحيب بالاعضاء الجدد
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة يوليو 25, 2014 5:06 pm من طرف هبه

» صيانة بريوس وغيار زيت فقط ب 20 دينار
نقاط معينه تخص لغة الـ sql I_icon_minitimeالإثنين مايو 19, 2014 3:34 pm من طرف 4hybrid

» السلام عليكم ورحمة الله وبركاتة
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأربعاء مارس 19, 2014 3:06 pm من طرف أبوساجد

» مسلسل (صد رد)
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأربعاء مارس 19, 2014 3:04 pm من طرف أبوساجد

» دورة تأسيسية في السيارات الكهربائية والهايبرد
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأربعاء يناير 15, 2014 4:36 pm من طرف 4hybrid

» حكمتين متناقضتين ايهما ستختار
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأحد ديسمبر 01, 2013 4:05 pm من طرف مويد ستلايت

» قريه كلها محفورة بالصخر..... صور
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأحد نوفمبر 17, 2013 7:25 am من طرف مويد ستلايت

» نكت نكت
نقاط معينه تخص لغة الـ sql I_icon_minitimeالثلاثاء أكتوبر 15, 2013 6:23 pm من طرف كركية 38

» نداء الى ابناء الكرك الاعزاء
نقاط معينه تخص لغة الـ sql I_icon_minitimeالجمعة مايو 31, 2013 3:03 am من طرف العربي

» اكبر مركز للسيارات الهجينة (الهايبرد) في عمان - الاردن
نقاط معينه تخص لغة الـ sql I_icon_minitimeالخميس فبراير 21, 2013 4:33 pm من طرف 4hybrid

» ضيف حل في قلعتكم
نقاط معينه تخص لغة الـ sql I_icon_minitimeالسبت نوفمبر 24, 2012 3:37 am من طرف العربي

» موت الملائكة
نقاط معينه تخص لغة الـ sql I_icon_minitimeالسبت يونيو 23, 2012 1:18 am من طرف ابو صرار

» ملااااك الروح نورتينا
نقاط معينه تخص لغة الـ sql I_icon_minitimeالأحد مايو 13, 2012 10:33 am من طرف العربي

ادارة منتدى اهل الكرك

New Page 1

 

                المدير العام
                       Admin
             نائب المدير العام
                        رنوش
             المشــرف العام
                      LORD
                    king 101
             المــشــرفــون
                   RAZAN
                   جنوبية بعز
                 Nbanawi
 
 
 

أفضل 10 أعضاء في هذا المنتدى

افضل عشرة اعضاء في هذا الشهر

New Page 1

           

             قريبا
                قريبا
                قريبا
                قريبا
                قريبا 
                قريبا
                 قريبا
                قريبا 
                قريبا
               قريبا

اكثر 10 اعضاء فاتحي مواضيع في المنتدى

New Page 1

                  

               رنوش  
            LORD  
            RAZAN
              المتيم
           Nbanawi
              قريبا   
              قريبا   
              قريبا   
              قريبا   
              قريبا   

لوحة شرف المنتدى لهذا الشهر

New Page 1

 

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

.: عدد زوار المنتدى :.


    نقاط معينه تخص لغة الـ sql

    رنوش
    رنوش
    15
    15


    انثى الدلو عدد المساهمات : 1523
    نقاط : 3249
    السٌّمعَة : 16
    بلدك : الاردن
    المدينة : الكرك

    نقاط معينه تخص لغة الـ sql Empty نقاط معينه تخص لغة الـ sql

    مُساهمة من طرف رنوش الجمعة يونيو 18, 2010 11:14 am

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


    وسنتحدث الان عن :
    (( الدوال- 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----> نوع الترتيب ( وتخصيصه- الراتب )
    اذن....
    طلبنا الاستعلام عن اسماء الموظفين + رواتبهم
    من جدول الموظفين
    مرتبه ترتيباًتصاعدياً حسب الراتب;







    الامر group :

    فائدته :

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

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

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

    مثال :

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

    الحل :





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



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

    هنا في المثال

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

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







    الامر 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 باستخدم الامر






    والان لندخل بالدوال ((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



    نكتفي بهذا القدر حاليا..
    وفي الموضوع القادم سنتحدث عن ..
    الدوال العامه

      الوقت/التاريخ الآن هو الخميس مارس 28, 2024 9:59 pm