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

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

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


1 رد (ردود) على هذا الموضوع

#1 t-hassaan

t-hassaan

    عضو نشط

  • الأعضــاء
  • 318 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 September 2008 - 09:28 AM

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


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

#2 sameh bakkar

sameh bakkar

    مشرف قسم المبتدئين

  • فريق الإشراف
  • 1,019 مشاركة
  • البـلـد: Country Flag

تاريخ المشاركة 01 September 2008 - 11:20 AM

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

Sameh Bakkar

Principal Oracle Apps Techno-Functional Consultant / Oracle E-Business Suite Certified Trainer

Oracle E-Business R11 Suite Applications Workflow Certified Expert

Oracle E-Business Suite R12 HCM Certified Implementation Specialist

Oracle Certified Professional

ITIL V3 Foundation certified

Microsoft Project certified




الموقع الخاص: AppsLead | Your Honest Guide | Sameh Bakkar