بتاريخ: 27 يوليو 200520 سنة comment_42843 السلام عليكم و رحمة الله و بركاته ،سؤال خفيف على العقل:ما فائدة الOracle properity:Cartesian Productأو ال SQL 1999: Cross join ؟ تقديم بلاغ
بتاريخ: 27 يوليو 200520 سنة comment_42851 الاخ الكريمفائدة Cross join تختصر يها where condtion عندما يكون عندك جملة Select statment لجدولين مختلفين كما في المثال التالي SELECT first_name,last_name, department_name FROM employees, departments; وتحتاج هنا الى where condtion لعدم تكرار البيانات او عرض بيانات الجدولين بشكل متتالياما باستخدام cross join يمكنك اختصار ذلك وخصوصا في ان يكون الجدولين يحتوي على بيانات كثير كما في المثال SELECT first_name, last_name, department_name FROM employees CROSS JOIN departments; وليك ملف مرفق يشرح بشكل افضل dbs03_11_DMLSQL_2_6.pdf تقديم بلاغ
بتاريخ: 27 يوليو 200520 سنة comment_42887 الاخ الكريم / كيوكمبرالاخوة الافاضل / الاعضاء فى هذه المشاركةعند استدعاء بيانات من جدولين مختلفين لابد من وجود شرط يتم على اساسه ربط الجدولين بحيث يتم استدعاء البيانات بشكل سليم وغير متكررفعند تنفيذ هذه الجملة Select e.last_name, d.departement_name from employees e, Department d فسوف يظهر عدد من الصفوف يساوى حاصل ضرب عدد الصفوف فى الجدول الأول مضروف فى عدد الصفوف فى الجدول الثانىوهذا ما يعرف بـ Cartesian Productوفى كتابة الاستعلام بطريقة السابقة خطأ كبير مالم يحتوى على شرط الربطهكذا Select e.last_name, d.departement_name From employees e, Department d Where e.department_id = d.department_id فيظهر مع اسم كل موظف اسم الادارة التابع لها هذه الموظفما دخل Cross Join فى هذا الكلاملاجراء الاستعلام الاول والحصول على Cartesian Product ولكن باستخدام صيغ الـ SQL القياسية والمعروفة باسم SQL:1999 Syntax لابد من استخدام Cross Joinكما يلى Select e.last_name, d.Department_name From Employee CROSS JION Departments والسؤال المطروحةما فائدة الـ Cross Join طالما انه لابد من استخدام شرط ربط لاظهار البيانات بصورة صحيحيةواظن ان هذا المقصود من سؤال الاخ كيوكمبروالاجابةانه تستخدم لعمل بعض الاختبارات التى تحاكى انتاج كمية كبيرة من البيانات مثلا تريد اختبار تقرير او نموذج للعمل على مليون صف وليس عندك جدول يحتوى على هذا العدد من الصفوف يمكن فى هذه الحالة استخدام Cross Join لربط عدة جدول وانتاج هذه العدد من الصفوفاى لا يستخدم الـ Cross Join فى الجملة الحقيقة والسليمةمع تحياتىاسامه سليمانالقاهرة تم تعديل 27 يوليو 200520 سنة بواسطة Osama Soliman تقديم بلاغ
بتاريخ: 27 يوليو 200520 سنة comment_42895 السلام عليكمأخي العزيز Osama Solimanعندي سؤال،هل نحتاج أن يكون هناك Foreign Key لكي يشتغل Cross Join؟على أي أساس سيعرف الحقول المطلوبة ليقوم بعملية الربط ويستغني عن Where-Clauseوما هو المقصود ب اى لا يستخدم الـ Cross Join فى الجملة الحقيقة والسليمة والله يجزيك الخير على التوضيح تم تعديل 27 يوليو 200520 سنة بواسطة Naji_Ali تقديم بلاغ
بتاريخ: 27 يوليو 200520 سنة comment_42921 السلام عليكم............natural joinsبارك الله فيكم cross joins الان اصبخ مفهوم بالنسبه لي ولكن natural joins .ما طبيعة عمل natural joins وما الفائده منها هل من احد يسطتيع تفسير الجمله التاليه ومايكافئها في equijoin select department_id,department_name,location_id,cityfrom departmentsnatural joins locations;--------------------------------------------select department_id,department_name,departments.location_id,cityfrom departments,locationswhere departments.location_id=locations.location_id; -------------------------------the natural join clause is baesed on all columns in the tow tables that have the same name .يعني اسماء الحقول الي الي الها نفس الاسم او نفس القيمه ممكن حد يشرح اكثر ويبين وين الخطأ وين البديل الها ولشو عملوها اذا ما بتوفي في الشروط ......وبارك الله فيكم جميعا تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.