الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : سلسلة دروس تعليم أكسيس (http://vb4arb.com/vb/forumdisplay.php?fid=127) +---- الموضوع : الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع (/showthread.php?tid=5100) |
الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - azzamxp - 04-10-12 بسم الله الرحمن الرحيم الدروس مقدمة من أحمد جمال الدوال في الاستعلامات . تستخدم العديد من الدوال ضمن طيات جمل الاستعلام ، وهي شائعة الاستخدام ، ومريحة ، وتعيد قيمة وحيدة - لا تعيد جدول - سنتعرف على بعض الدوال مع بعض الأمثلة خلال هذا الدرس . ولننظر نظرة سريعة إلى الصيغة العامة لاستخدام الدوال والتي تأخذ الشكل التالي : كود : SELECT func(colum) FROM table WHERE condition; [SIZE=4]الدالة
AVG :
تعطينا هذه الدالة متوسط حقل ما ، ولحساب متوسط الأعمار في قاعدة البيانات مثلاً نكتب أمراً كالتالي : كود : Select AVG(Age) from tb_main; أيضاً يمكننا استخدام الدالة بشرط ... فمثلاً لحساب متوسط أعمار الأشخاص الذين لا تزيد أعمارهم عن 25 : كود : SELECT AVG(Age) FROM tb_main where age < 25; كود : SELECT AVG(Age) as AVGAGE FROM tb_main WHERE age < 25; لاحظ أن الدالة سوف تتجاهل السجلات الفارغة ... الدوال
Sum,Max,Min :
تعطي هذه الدوال المجموع - الأكبر - الأصغر على التوالي ، وهذا مثال على أكبر عمر في قاعدة البيانات : كود : SELECT max(Age) AS mxAGE FROM tb_main; لا تنس أن بإمكاننا وضع شرط لعملية الإستعلام . الدالة
Count :
وتعيد هذه الدالة عدد السجلات ولها صورتان تعمل مع أكسيس ... أما الصورة الثالثة فهي لا تعمل على الاكسيس : الصيغة الأولى :
[/SIZE]Count(colum) ... وتعيد عدد السجلات التي لم يكن هذا الحقل فارغاً فيها .
الصيغة الثانية : Count(*) ... وتعيد عدد السجلات دون النظر إلى إذا ما كانت فارغة أم لا . أما الصيغة الثالثة : COUNT(DISTINCT Colum( حيث تقوم بعد السجلات مع تجاهل المكرر منها . ولنر مثالاً على الصيغة الثانية : كود : Select count(*) From Tb_Main; لا تنس أن بإمكانك وضع شرط لعملية العد . كانت هذه بعض الدوال البسيطة والاكثر شهرة في TSql والآن ، ماذا لو كانت لدينا علاقات ونرغب في العمل عليها . في مثل هذه الحالة ... نريد الحصول على معلومات البطاقة الشخصية الخاصة باسم ما وذلك من Tb_R2 - لاحظ أنه لا يوجد حقل للاسم في الجدول الثاني - . كود : SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from أولاً : نقوم بكتابة اسم الجدول.اسم الحقل وذلك مهم لأننا نتعامل مع أكثر من جدول .
ثانياً : نقوم بكتابة اكثر من جدول بعد عبارة From لأننا نريد النواتج من أكثر من جدول .
ثالثاً : السطر الأخير من جملة الاستعلام هو لكي يعرض المعلومات التي تتشابه أرقامها في الجدولين سوية . دعنا الآن نجرب مثالاً آخراً ... وذلك بالاستعلام عن كافة المعلومات التي تتعلق بالأصدقاء الذين تزيد أعمارهم عن 20 سنة . كود : SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from والآن نريد تطبيق امثلة جديدة ، ولكي نبدأ في تطبيق أمثلة هذا الدرس لا بد أن يكون بعض الأصدقاء لديهم سجلات في الجدول الثاني والبعض الآخر لا . ومازال حديثنا حول العلاقات وما يتعلق بها ... وسنتحدث عن الدالة Join . [SIZE=4]النوع الأول :
Inner Join :
هي الطريقة العادية والتي تحدثنا عنها في الدرس السابق تعطينا النواتج في حال كان شرط العلاقة متحققاً في كلا الجدولين . بمعنى : جرب أن تحذف بعض سجلات الأصدقاء من الجدول الثاني ، وستجد أن معلوماتهم - حتى الأساسية - لن تظهر . هذا النوع من الربط يطلق عليه Inner Join وهو الافتراضي ... ويمكننا كتابته بالشكل التالي للتفريق بين الأنواع المختلفة : كود : SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from لاحظ أننا استبدلنا Where ب on كما وضعنا inner join بين اسمي الجدولين . النوع الثاني :
Left Join :
في هذا النوع يعرض جميع بيانات الجدول الأول ( على اليسار ) ومن ثم يعرض البيانات المقابلة في الجدول الثاني . لاحظ في هذا النوع أمرين : [/SIZE] * إذا كانت هناك سجلات ( على اليسار ) لا تقابلها سجلات على اليمين فإن اليسار يعرض ويعرض اليمين فارغاً .
مثال هذه النوعية :* وإذا كانت هناك سجلات ( على اليمين ) ليس لها مقابل على اليسار فإنها لا تُعرض أبداً . كود : SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from [SIZE=4]النوع الثالث :
Right Join :
هو النوع العكسي تماماً للعملية السابقة ، وهذا مثال عليه : كود : SELECT tb_main.Fname, tb_main.lname, Tb_R1.passport, tb_r1.bclass, tb_r1.from *** في النهاية أود أن انبه إلى أنه ما زال هناك الكثير في TSQL ولكن كانت هذه مقدمة سريعة إليها ... والله الموفق ...
والسلام عليكم ورحمة الله وبركاته . [/SIZE] الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - fidaa al'astal - 11-10-12 [COLOR="#B22222"]يعطيك الف عافيه
تحياتيي لك[/COLOR] الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - عبدالله محمد عوض - 25-11-12 شكراً عالجهد الهائل دا بسسسسسسسسس... بس ياريت تحطه في ملف على شكل بي دي اف مع المرفقات عشان تعم الفائدة للجميع أرجووووووووووووووووك وافق وأنا أول من بيحملو على طوووووووووووووول الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - abdoojh - 04-03-13 اشكر الاخ احمد جمال على هذه المجهودات الطيبة واشكرك اخي [b]azzamxp على مساعدتك في نقل هذه الدروس والحمد لله قمت بقرائتها كلها وافادتني كثيرا وبارك الله فيكم وجزاكم الله كل خير[/b] الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - husain1980 - 19-05-13 جزاك الله خيرا الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - husain1980 - 19-05-13 الحمد لله اللي نفعنا بها والله يجزاك خيرا ياسيدي الدرس العاشر و الأخير : استخدام لغة ( تقنية ) الإستعلامات بطريقة Tsql - الجزء الرابع - khattabcosmology - 24-05-13 بارك الله فيك ونفع بك آمين |