دروس
الاستعلامات المتقدمة في MySQL - الجزء الخامس - 3

عقارية المدينة 6-12-1430هـ للاعلان جوال 0507445115 حراج سيارات 19-4-1431هـ
افضل و اقوى و احلى و اجمل موقع افلام و فيديو يوتيوب youtube على الاطلاق للاعلان جوال 0507445115 بنات الرياض سعوديات نسائي بناتي حريمي

تابع حالة الطقس في اكبر و اشهر مدن المملكة العربية السعودية | منتديات | مقاطع فيديو تحميل افلام موقع يوتيوب youtube العاب بنات hguhf fkhj | تحميل صور jpldg w,v | بلاك بيري | بنات السعودية | قصص بنات

احصائيات سريعة
اقسام على الموقع
دروس في أنظمة التشغيل | ماي سكيول - MySQL | لفيجوال بيسك - Visual Basic | المات لاب Matlab | اللينكس و اليونكس | الاسمبلي - ASSEMBLY | الاوتلوك - Outlook | البرمجة تحت اللنكس -Linux Programming | البرمجة تحت وندوز بواسطة دوال ال win API | البرمجة في بيئة الدوت نت .Net | التصمبم والرسوم | الدلفي - Delphi | الجافا - Java | السي - C | الصوت و الصورة | الوورد - Word | القسم العام للأوفيس | الكوبول - COBOL | control panel-ftp | اوراكل - Oracle | اكسل - Excel | تحميل الملفات | برامج متنوعة | برامج التصفح | برامج الحماية | برامج إنترنت | تعرّف على الويب | بوربوينت - Power Point | images | دروس : كمبيوتر وصيانة | دروس مجلة نيوك phpnuke | دروس مسنجر MSN - yahoo - Gmail | دروس منتديات vBulletin | دروس الجوالات والهواتف | دروس السي بنل cpanel | دروس اكسس access | دروس بيونت شوب برو - point shop pro | دروس برمجة php - mysql | دروس برامج منوعة software | دروس ثري دي ماكس 3D max | دروس تطوير المواقع والمنتديات | دروس جافا سكريبت JavaScript | دروس دريم ويفر DreamWeaver | دروس شبكات Networks | دروس سويش - swish | دروس فلاش - flash | دروس فلاش mx | دروس فى نظام الوندوز WINDOWS | دروس فىالباسكال - Pascal | دروس فيجوال بيسك Visual Basic | دروس فرونت بيج - frontpage | دروس فوتوشوب photoshop | دروس هكر hacker crack virus | سي ++ | سي شارب - #C | فيجوال سي ++ - ++ Visual C | قسم البرمجة العام | دروس فى لغة HTML
البحث في المواد

اكثر المحتويات زيارة
الدوال في الاكسل (14,854 مشاهده)
تعريف الفن التشكيلي: (14,834 مشاهده)
ربط قاعدة بيانات أكسس (MS Access) مع برنامج الفيجوال بيسك بطريقة(ODBC) (10,782 مشاهده)
دروس في الأوفيس الأكسس - Access0- (10,255 مشاهده)
أنواع العلاقات وطريقة الربط بين الجداول. (10,191 مشاهده)
تغيير لغة واجهة التطبيق من عربي الى انجليزي وبالعكس لـ Windows-based applications (7,363 مشاهده)
شرح طريقة استعمال الأوتلوك مع بريد الهوتميل (7,356 مشاهده)
ما هي شبكة الانترنت: (6,455 مشاهده)
الدرس الثالث : بعض تطبيقات الدوال في اكسل (6,214 مشاهده)
تعريف الاستعلام وطريقة عرضه في آكسس، أنواع الاستعلامات، نافذة تحديد الاستعلام! (6,208 مشاهده)
اضافه صوت ونص لخلفيه في باور بوينت (6,194 مشاهده)
المنظور الفوتوغرافي Perspective Drawing (6,143 مشاهده)
ما هو برنامج الاكسل -00 (6,004 مشاهده)
أنشئ قاعدة بياناتك التي ستستند إليها في تعلم طريقة ربط الجداول والاستعلامات. (5,762 مشاهده)
نظام التشغيل (Windows) (5,562 مشاهده)
الدرس الثاني : عمل خلفيات ملونة لشرائح (5,539 مشاهده)
الدرس الأول : عمل شريحة في البوربوينت (5,442 مشاهده)
الدرس الثاني: بعض الحيل لتسهيل برنامج اكسل (5,433 مشاهده)
لإجراء العمليات الحسابية (4,956 مشاهده)
مقدمة عامة حول الاكسل وحيل خاصة بالاكسل0-- (4,920 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,874 مشاهده)
كيفية تنصيب Turbo C++ وتشغيل برنامج بلغة السي عليه!- (4,839 مشاهده)
vالدرس الأول : عمل شريحة في البوربوينت (4,836 مشاهده)
الدرس الثالث: كيفية عمل مراحل انتقالية للشرائح (4,824 مشاهده)
اضافة الحركات للصور والنصوص (4,764 مشاهده)
جديد مواد مع عشوائي
التحويل التلقائي للحروف ل- ل- ه إلى اسم الجلالة0---- (2,364 مشاهده)
النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0---النسبة المئوية لا تظهر بالخط العربي & الشدة وألف المد في لفظ الجلالة0--- (1,781 مشاهده)
ضبط خيارات اللغة فى الـ Microsoft Word0--- (2,193 مشاهده)
استخدام لوحة المفاتيح في الـ Word0---- (2,387 مشاهده)
إضافة كلمة سر إلي ملفات الورد دون استخدام برامج0--- (2,321 مشاهده)
دمج المراسلات0-- (1,432 مشاهده)
وضع صورة كخلفية للنص0-- (1,874 مشاهده)
السماح للمستخدمين بتعديل أجزاء من ملف وورد محمي (Word2003)0--- (1,449 مشاهده)
كتابة الأرقام الكسرية ورموز المعادلات0-- (2,060 مشاهده)
درس كامل عن الدمج السهل من لوحة المفاتيح ف0-ي برنامج الـ Word (1,614 مشاهده)
دورة الأكسس: الدرس السادس : منوعات في أكسيس .0--- (4,874 مشاهده)
دورة الأكسيس : الدرس الرابع : العلاقات0---- (2,669 مشاهده)
أساسيات في Access0--0 (2,382 مشاهده)
تصميم تقرير لطباعة البيانات0---- (2,238 مشاهده)
تصميم نموذج استعراض البيانات‏0--تصميم نموذج استعراض البيانات‏0-- (1,997 مشاهده)
تصميم نموذج إدخال‎ ‎البيانات0--- (2,244 مشاهده)
إنشاء قوائم خاصة باستخدام الماكرو(1)0-- (1,934 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (2)0-- (1,446 مشاهده)
خطوات إنشاء الماكرو في تذييل النموذج (1)0- (1,513 مشاهده)
استعلامات SQL في Access - تعديل الجداول وإضافة الحقول0- (2,106 مشاهده)
استعلامات SQL في Access - تحديث البيانات الجدولية0-- (1,715 مشاهده)
الاستعلامات الإجرائية -4 (استعلام الحذف)0--- (1,169 مشاهده)
الاستعلامات الإجرائية -2 (استعلام الإلحاق)0--- (1,315 مشاهده)
تصميم تقرير لطباعة الإجمالي0--- (1,422 مشاهده)
استعلامات التحديد Select Query مع أمثله (1)0--- (1,878 مشاهده)
دروس > ماي سكيول - MySQL > الاستعلامات المتقدمة في MySQL - الجزء الخامس - 3
اعلانات في الموقع على جميع الصفحات

الاستعلامات المتقدمة في MySQL - الجزء الخامس - 3

مستوى الدرس :مبتدئ



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




عنوان الدرس : الاستعلامات المتقدمة في MySQL - الجزء الخامس -3




 




 بفرض أنه لديك الجدولين التاليين




الأول اسمه cashes :





























cli_no



pay_cash



1



25



2



50




 




و الثاني اسمه credits :





























cli_no



pay_credit



2



75



3



88




 




و تريد كتابة استعلاماً يظهر لك النتائج كما يلي:



















































cli_no



pay_cash



pay_credit



total



1



25



NULL



25



2



50



75



125



3



NULL



88



88




 




التمرين معقد بعض الشيء لذلك يجب أن تركز جيداً, فلنبدأ على بركة الله.




التحليل:




1. بما أن cli_no=1 غير موجود في الجدول credits و أيضاً cli_no=3 غير موجود في الجدول cashes فأنت إذن بحاجة إلى شيئين هما:




-          أن تكتب استعلامين.




-          أن تستخدم في كلاهما الرابطة اليسارية left join




2. بما أنك تريد أن تظهر كلا الاستعلامين في استعلاماً واحداً لذلك عليك أن تستخدم العبارة union بينهما, و بالتالي سنحلل كل استعلام على حدا.




3. تذكر الخصائص الثلاث للرابطة اليسارية, و التي كنت قد ذكرتها في درس (الاستعلامات المتقدمة في MySQL - الجزء الثالث)




تحليل الاستعلام الأول:




ستكتب استعلاماً يظهر لك رقم الزبون, و بما أن الزبون الثالث غير موجود في الجدول cashes ستستخدم هنا رابطة يسارية على الجدول الذي يحوي الرقم الزبون الثالث و هو الجدول credits كي تتخلص من الزبون الثالث, و بما أن رقم الزبون cli_no موجود في كلا الجدولين فإنك ستحدد من أي جدول تريد أن تختار رقم الزبون.




ثم ستظهر رقم الدفع النقدي pay_cash .




ثم ستظهر قيمة الدفع عبر بطاقة الائتمان pay_credit و في حال لم يوجد pay_credit ستقوم الرابطة اليسارية تلقائياً بوضع NULL مكانها.




ثم ستجمع pay_cash+pay_credit ليوضع المجموع في عمود اسمه total , لكنك تعرف سلفاً أن مجموع أي قيمة مع NULL سيعطي NULL لذلك أنت بحاجة على التابع ifnull() لا عليك منه الآن, و سنتكلم عن التوابع في MySQL بشكل مستفيض في الدروس القادمة إن شاء الله.




و الآن لنقوم بترجمة هذا الكلام إلى صيغة برمجية, فسيظهر معك الاستعلام التالي:




select cashes.cli_no , pay_cash , pay_credit , (pay_cash+ifnull (pay_credit , 0 ) ) as total




from cashes




left join credits on cashes.cli_no = credits.cli_no ;




عندها ستظهر لك النتيجة التالية:




+---------------+--------------+---------------+-------+




|cli_no             |pay_cash       |pay_credit     |total   |




+---------------+--------------+---------------+-------+




|1                    |25                  |NULL               |25      |




|2                    |50                  |75                  |125    |




+--------------+---------------+---------------+-------+




تحليل الاستعلام الثاني:




وظيفة هذا الاستعلام هو أن تظهر سجل الزبون الثالث, لذلك ستبدأ استعلامك بالعبارات التالية:




select credits.cli_no , pay_cash , pay_credit , pay_credit as total from credits -->




لاحظ أننا وضعنا pay_credit as total و لم نستخدم تابعاً و ذلك لأن جميع السجلات التي في الجدول الثاني و التي تحتاج إلى جمع قد عالجناها في الاستعلام الأول.




و الآن ستكمل استعلامك و تكتب:




--> left join cashes on credits.cli_no = cashes.cli_no -->




حسناً إذا توقفت إلى هذا الحد فإن هذا الاستعلام سيظهر لك سجل الزبون الثاني أيضاً و بالتالي ستحصل على تكرار, لذلك ستضع شرطاً و هو أن قيمة الـ pay_cash هي NULL




--> where pay_cash is null;




و بتجميع أجزاء هذا الاستعلام نحصل على النتيجة التالية:




select credits.cli_no , pay_cash , pay_credit , pay_credit as total from credits




left join cashes on credits.cli_no = cashes._cli_no




where pay_cash is null;




و ستحصل على النتيجة التالية:




+--------------+------------------------+-----------------------+----------+




|user_id          |payment_credit         |payment_cash            |total   |




+--------------+------------------------+-----------------------+-----------+




|3                    |88                              |NULL                             |88      |




+--------------+------------------------+-----------------------+----------+




و الآن بقي عليك الخطوة الأخيرة و هي توحيد الاستعلامين السابقين بواسطة العبارة union كما يلي:




select cashes.cli_no , pay_cash , pay_credit , (pay_cash+ifnull (pay_credit , 0 ) ) as total




from cashes




left join credits on cashes.cli_no = credits.cli_no ;




union




select credits.cli_no , pay_cash , pay_credit , pay_credit as total from credits




left join cashes on credits.cli_no = cashes._cli_no




where pay_cash is null;




 و آخر دعوانا أن الحمد لله رب العالمين




أخوكم أبـو عمر


 

درس الاستعلامات المتقدمة في MySQL - الجزء الخامس - 3

أضف هذه المادة في موقعك:
مواد مشابهة:
استخدام الأمر Show في قواعد البيانات MySQL الجزء الأول استخدام الأمر Show في قواعد البيانات MySQL الجزء الأول
استخدام الأمر Show في قواعد البيانات MySQL الجزء الأول
(مرات المشاهدة: 436 مرات)
استخدام التعليمة Create في قواعد بيانات MySQL استخدام التعليمة Create في قواعد بيانات MySQL
استخدام التعليمة Create في قواعد بيانات MySQL
(مرات المشاهدة: 533 مرات)
استخدام التعليمة Replace في MySQL 1 استخدام التعليمة Replace في MySQL 1
استخدام التعليمة Replace في MySQL 1
(مرات المشاهدة: 259 مرات)
استخدام التعليمة Alter table في MySQL - الجزء الثاني 1 استخدام التعليمة Alter table في MySQL - الجزء الثاني 1
استخدام التعليمة Alter table في MySQL - الجزء الثاني 1
(مرات المشاهدة: 319 مرات)
الفهارس في MySQL - الجزء الثاني 1 الفهارس في MySQL - الجزء الثاني 1
الفهارس في MySQL - الجزء الثاني 1
(مرات المشاهدة: 338 مرات)
استخدام التعليمة Alter table في MySQL - الجزء الأول 1 استخدام التعليمة Alter table في MySQL - الجزء الأول 1
استخدام التعليمة Alter table في MySQL - الجزء الأول 1
(مرات المشاهدة: 392 مرات)
التوابع في MySQL 2 التوابع في MySQL 2
التوابع في MySQL 2
(مرات المشاهدة: 1,325 مرات)
دورة SQL [الدرس الخامس] : الربط في السيكيول SQL Join دورة SQL [الدرس الخامس] : الربط في السيكيول SQL Join
دورة SQL [الدرس الخامس] : الربط في السيكيول SQL Join
(مرات المشاهدة: 1,445 مرات)
استخدام الأمر Show في قواعد البيانات MySQL الجزء الثاني 2 استخدام الأمر Show في قواعد البيانات MySQL الجزء الثاني 2
استخدام الأمر Show في قواعد البيانات MySQL الجزء الثاني 2
(مرات المشاهدة: 354 مرات)
استخدام التعليمة Insert في MySQL - الجزء الثاني استخدام التعليمة Insert في MySQL - الجزء الثاني
استخدام التعليمة Insert في MySQL - الجزء الثاني
(مرات المشاهدة: 364 مرات)
About
جميع الحقوق في هذا الموقع محفوظة وكل المواد على الاقسام ملك لاصحابها :Copyright © All rights reserved