بتاريخ: 1 سبتمبر 200817 سنة comment_137730 السلام عليكم و كل عام وانتم بخيرما الفرق بين ال join و ال natural join وربط الجداول بدون JOIN لقد جربت الاكواد التالبة على HR وتعطى نتائج مختلفةالكودين التاليين يعطوا نفس النتيجة select employee_id , Last_name , Department_name from employees , departments where employees.department_id = departments.DEPARTMENT_ID; select employee_id , Last_name , Department_name from employees join departments using (department_id) ; اما الكود التالى فيعطى نتيجة افل فى عدد السجلات select employee_id , Last_name , Department_name from employees natural join departments ; وشكرا مقدماطارق تقديم بلاغ
بتاريخ: 1 سبتمبر 200817 سنة comment_137737 الأخ الفاضل الكود الأخير يعطى نتيجه مختلفه بالتأكيد وذلك لأن natural join تقوم بعمل ربط بين الجدولين على اى حقلين بنفس الأسم و نفس ال datatype و بالتالى فقد وجدت حقل department_id فى جدول الموظفين يقابله حقل department_id فى جدول الأقسام ... وهذا هو الطبيعى و لكن قلت عدد السجلات لأنه تم الربط ايضا على اساس حقلين متشابهين ايضا و هما حقل ال manager_id بكلا الجدولين ... بمعنى ان فى الأكواد الأولى الربط يتم على اساس حقل واحد فقط و هو ال department_id أما فى الكود الأخير فالربط تم على اساس حقلين هما ال department_id و ال manager_id و بالتالى اكيد النتيجه هاتقل .... بالتوفيق يا أخى تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.