ظƒظٹظپ طھطµط¨ط* ط¨ط±ظ…ط¬ظٹط§طھظƒ ط³ط±ظٹط¹ط© . ط§ظ„ط¯ط±ط³ ط§ظ„ط«ط§ظ†ظٹ ط§ط³طھط¹ظ„ط§ظ…ط§طھ sql ط¬3




السلام عليكم
اهلا ومرحبا بكم رواد منتدى برمجة المواقع والمنتديات في فلاي كيت الحبيبة
في اطار دروس كيف تصبح برمجياتك سريعة نقدم لكم هذا الدرس مفصل الذي هو امتداد للدرس مفصل الماضي ..
درس مفصلنا اليوم هو استخدام JOIN اي ربط المعلومات اثناء القراءة وهي تستخدم بكثرة في احضار نتائج مشتركة بين جدولين
الطريقة الإعتيادية :
select student.name, student.id, marks.average from student,marks where student.id=marks.student and student.level > 9

هنا نقرأ رقم الطالب واسمه من جدول الطلاب ومعدل العلامات له من جدول العلامات
حيث يتكون جدول العلامات من رقم الطالب ومعدل علاماته
فقمنا بالربط بينهم where student.id=marks.student
حتى يعطينا معدل العلامات لكل طالب حسب رقمه بشكل منظم
ايضا اشترطنا على ان يكون مستوى الطالب اكبر من 9 اي اكبر من الصف التاسع على سبيل المثال
فهنا الطريقة جيدة وهي من نوع join العادية اي يتم استخدام جميع المعلومات في الجدولين اثناء التنفيذ التي لها تشابه واحد على الاقل في الid
لكن يوجد عندنا طلاب ليس لهم علامات فكيف سنقراهم اذا !
فالحل هو استخدام انواع اخرى من join للربط يعمل على احضار المعلومات التي نحتاجها فقط
فلندرس مفصل اذا انواع join :-
1- join العادية : نفس المشروحة فوق حيث يتم ارجاع المعلومات والصفوف التي لها تطابق واحد على الاقل بالid..
نستخدمه في حال لم يكن هناك شروط على مستوى الطالب او شيئ اخر.
2- full join اي الربط الكامل , يرجع الصفوف في الجدولين اذا وجدت تشابه واحد فقط في الشرط أو id
select student.name, student.id, marks.average from student FULL JOIN marks ON student.id=marks.student where student.level > 9
3- inner join
نفس join العادية .. اذا كان هناك طلاب ليس لهم علامات في جدول marks لن يتم قرائهم
select student.name, student.id, marks.average from student INNER JOIN marks ON student.id=marks.student where student.level > 9
الان الانواع التى اعتبرهم مهمة
4- left join: يرجع لنا جميع النتائج من الجدول الذي على اليسار الذي هو في حالتنا marks حتى لو لم ينطبق الشرط الذي هو تطابق الid
select student.name, student.id, marks.average from student LEFT JOIN marks ON student.id=marks.student where student.level > 9
5- right join: يرجع لنا جميع النتائج من الجدول right الذي على اليمين الذي هو في حالتنا student حتى لو لم ينطبق الشرط تطابق student id
select student.name, student.id, marks.average from student RIGHTJOIN marks ON student.id=marks.student where student.level > 9
---------------
ان معرفة استخدام انواع join يوفر عليك الكثير اثناء عملية القراءة من اكثر من جدول
يمكن جدولين تكون سهلة لكن لو كان عندك تداخل 6 جداول مثلا فاذا لم تعرف تستخدم join وانواعها ستضطر الى استخدام اكثر من كود code sql وهذا لا يجوز لأنه يستهلك الكثير من الوقت والجهد
الجزء القادم ان شاء الله سندرس مفصل انواع البيانات في sql وتاثيرها الكبير على البرمجة












©المشاركات المنشورة تعبر عن وجهة نظر صاحبها فقط، ولا تُعبّر بأي شكل من الأشكال عن وجهة نظر إدارة المنتدى©