الانتقال إلى المحتوى

ما الفرق بين ال Join و ال Natural Join ، و ربط الجداول بدون Join ؟


t-hassaan

Recommended Posts

السلام عليكم
و كل عام وانتم بخير
ما الفرق بين ال 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 ;



وشكرا مقدما
طارق

رابط هذا التعليق
شارك

الأخ الفاضل الكود الأخير يعطى نتيجه مختلفه بالتأكيد وذلك لأن natural join تقوم بعمل ربط بين الجدولين على اى حقلين بنفس الأسم و نفس ال datatype و بالتالى فقد وجدت حقل department_id فى جدول الموظفين يقابله حقل department_id فى جدول الأقسام ... وهذا هو الطبيعى و لكن قلت عدد السجلات لأنه تم الربط ايضا على اساس حقلين متشابهين ايضا و هما حقل ال manager_id بكلا الجدولين ... بمعنى ان فى الأكواد الأولى الربط يتم على اساس حقل واحد فقط و هو ال department_id أما فى الكود الأخير فالربط تم على اساس حقلين هما ال department_id و ال manager_id و بالتالى اكيد النتيجه هاتقل .... بالتوفيق يا أخى

رابط هذا التعليق
شارك

انضم إلى المناقشة

يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.

زائر
أضف رد على هذا الموضوع...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   تمت استعادة المحتوى السابق الخاص بك.   مسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

جاري التحميل
×
×
  • أضف...

برجاء الإنتباه

بإستخدامك للموقع فأنت تتعهد بالموافقة على هذه البنود: سياسة الخصوصية