t-hassaan بتاريخ: 1 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 1 سبتمبر 2008 السلام عليكم و كل عام وانتم بخيرما الفرق بين ال 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 ; وشكرا مقدماطارق اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
sameh bakkar بتاريخ: 1 سبتمبر 2008 تقديم بلاغ مشاركة بتاريخ: 1 سبتمبر 2008 الأخ الفاضل الكود الأخير يعطى نتيجه مختلفه بالتأكيد وذلك لأن natural join تقوم بعمل ربط بين الجدولين على اى حقلين بنفس الأسم و نفس ال datatype و بالتالى فقد وجدت حقل department_id فى جدول الموظفين يقابله حقل department_id فى جدول الأقسام ... وهذا هو الطبيعى و لكن قلت عدد السجلات لأنه تم الربط ايضا على اساس حقلين متشابهين ايضا و هما حقل ال manager_id بكلا الجدولين ... بمعنى ان فى الأكواد الأولى الربط يتم على اساس حقل واحد فقط و هو ال department_id أما فى الكود الأخير فالربط تم على اساس حقلين هما ال department_id و ال manager_id و بالتالى اكيد النتيجه هاتقل .... بالتوفيق يا أخى اقتباس رابط هذا التعليق شارك المزيد من خيارات المشاركة
Recommended Posts
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.