(3) لغة الإستفسارات SQL 

 

11

رقم الدرس

متقدم:

مستوى الدرس

حمد راشد الماجد:

الكاتب
           
 يجب قراءتها

:المقدمة

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

الدرس

قبل أن نبدأ افرض  أن  لدينا الجدولين  التاليين :

                            tb1                                                     tb2

name sal job deptno
جميل 6000 محاسب 3
سامي 12000 مدير 1
بدر 5500 مبرمج 2
مهند 8500 مهندس 1
صالح 5000

سكرتير

3
deptn deptname
1 الهندسة
2 الكمبيوتر
3 المحاسبة

 

نريد الاستعلام عن أسماء الموظين الذين  ينتمون لقسم ما و لنفرض  اننا نريد من ينتمي لقسم الهندسة، ستكون صيغة الاستعلام على  الشكل التالي " حدد  حقل الاسم  منالجدول tb1  عندما يكون اسم  القسم  الهندسة " ، لكن هناك مشكلة حيث لا يوجد حقل باسم  القسم في نفس الجدول لكن يوجد اسم القسم في  جدول اخر، ويوجد في الجدول الذي لدينا رقم القسم لكننا نريد البحث على اساس اسم القسم و  ليس  رقمه ، اذا يجب ان نحصل  على اسم  القسم من الجدول الاخر ، وللحصول على معلومات من جدول اخر يجب تحقق شرط مهم و هو  وجود حقل مشترك بين الجدولين و هذا ينطبق  في  حالتنا ، اذا ستكون  صيغة الاستعلام على الشكل التالي :     " حدد حقل الاسم من الجدول tb1 عندما يكون اسم القسم يساوي (حدد اسم القسم من  الجدول tb2  عندما يكون  رقم  القسم1) "

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

 

SQL = "select name from Tb1 where deptname = (select deptname form tb2 where deptno = 1) "

 

قد تتسائل لماذا نقوم بهذه العملية الطويلة مع  أنه بإمكاننا ان نشترط شرط على اساس رقم القسم الذي يتوفر لدينا حيث  نعرف ان قسم الهندية يحمل الرقم 1 ؟ الجواب و بكل بساطة أنه ليس في كل  مرة ستعرف ذلك حيث يوجد استعلامات معقدة لايمكنك بأن تقوم بحساب الشرط بنفسك لكي تضع  استعلام واحد  ، حيث ان بعض التطبيقات يجب عليك فيها استخدام الاستعلام المركب و قد يصل لأكثر من استعلام  لحل و ايجاد قيمة استعلام واحد

 

في الاستعلام المتفرع من  استعلام لانضع علامتي تنصيص  مزدوجة على الشرط النصي بل نضع علامة تنصيص مفردة  مثل هذه  '

 

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

 

 

  

سيكون التطبيق موجود قريبا

تطبيق

فهم سبب استخدام الاستعلام من جدولين 

معرفة  كيفية التفكير لإستخدام استعلام لجدولين

عمل استعلام لجدولين   و  نجاح ذلك

الحد الأدنى من  الأهداف التعليمية

 

 

 

 


Counter

الصفحة الرئيسية| الفهرس  | حيل و أفكار | كتب | مواقع | إتصل بنا

جميع الحقوق محفوظة © 2000