تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
الربط بين الجداول بالكود join
#1
[COLOR="#000080"]السلام عليكم ورحمه الله وبركاته

يمكنك الربط بين الجداول بأكثر من شكل

1 - INNER JOIN

تقوم INNER JOIN بأستدعاء البيانات المتشابهه في جدولين
بمعني اذا وجد سجل في الجدول الاول ليس له سجل مقابل له في الجدول الثاني لن تعود لك ببيانات هذا السجل .

وتكتب بالصيغه الاتيه
كود :
SELECT field1, field2, field3 FROM table1
INNER JOIN table2
ON table1.id = table2.id

الشرح

نكتب SELECT ثم نقوم بكتابه الحقول التي نريد عرضها سواء في الجدول الاول او الثاني
field1, field2, field3
وعند وجود اسم حقل مكرر في الجدولين نقوم بكتابه اسم الجدول قبل اسم الحقل هكذا table1.field
ثم FROM ثم اسم الجدول الاول ثم INNER JOIN ثم اسم الجدول الثاني
ولتحديد شرط الربط نكتب ON وبعدها الشرط table1.id = table2.id

يتبع ،،،
[/COLOR]
الرد }}}}
تم الشكر بواسطة: momiana1
#2
[COLOR="#800000"]2 - الربط المتساوي
وهي تعطيك نفس نتيجه inner join
فهي ايضا تعرض لك البيانات من جدولين بحسب الشرط الذي تحدده

وتكتب بالصيغه الاتيه
كود :
SELECT  field1, field2, field3 FROM table1, table2
where table1.id = table2.id

الشرح

نكتب SELECT ثم نقوم بكتابه الحقول التي نريد عرضها سواء في الجدول الاول او الثاني
field1, field2, field3
وعند وجود اسم حقل مكرر في الجدولين نقوم بكتابه اسم الجدول قبل اسم الحقل هكذا table1.field
ثم FROM ثم اسم الجدول الاول ثم اسم الجدول الثاني
و نكتب بعدها الشرط where table1.id = table2.id
ويمكن كتابه اكثر من شرط طبعا Smile

في المرفقات مثال علي الطريقتين


وفقكم الله
[/COLOR]


الملفات المرفقة
.rar   INNER JOIN.rar (الحجم : 63.69 ك ب / التحميلات : 159)
الرد }}}}
تم الشكر بواسطة: ngar1979 , momiana1
#3
شكرا لك اخي الكريم وجزاك الله عنا كل خير
الرد }}}}
تم الشكر بواسطة:
#4
أخي mr_mgm
متابع لمواضيعك عن الربط بين الجداول
بصراحة مواضيع هامة جدا وشرحك مميز ووافي

ولي عودة ببعض الاستفسارات

مشكوووووووووووووور علي المواضيع الرائعة
الرد }}}}
تم الشكر بواسطة:
#5
طيب أخي الكريم ممكن توضح الفرق بين الطريقتين و أيهما الأفضل و الأسرع في جلب المعلومات و الفرق في ثقل الاستعلام بين كل طريقة؟

في الحقيقة الموضوع أكثر من رائع ..

تحياتي
الرد }}}}
تم الشكر بواسطة:
#6
[color="#000080"]الطريقتين سيعطوك نفس النتيجه وهي أستدعاء البيانات المتشابهه في جدولين
بمعني اذا وجد سجل في الجدول الاول ليس له سجل مقابل له في الجدول الثاني لن تعود لك ببيانات هذا السجل ...

ولكن احيانا كثيره بتكون عايز تستدعي البيانات من احد الجداول حتي لو ليس لها سجل مقابل في الجدول الثاني
لذلك لن تنفع معك طريقه الربط المتساوي وستستخدم left join او right join

بأختصار طريقه الربط المتساوي اسهل & ولكن طريقه join اشمل واكثر استخداما ..

وفقك الله

[/color]
الرد }}}}
تم الشكر بواسطة:
#7
جزاك الله خيراً أخي الكريم على إجابتك الوافية.
و كما قلت لك سابقاً, الموضوع أكثر من رائع Smile

أما بالنسبة لمشاركتي في موضوع الاخر (المدن و الدول) فإني أنتظر إجابتك هناك Smile


تحياتي
الرد }}}}
تم الشكر بواسطة:
#8
شكرا جزيلا وبارك الله فيك
وجعله الله في موازين حسناتك ان شاء الله
وفقك الله
الرد }}}}
تم الشكر بواسطة:
#9
بارك الله فيك موضوع مهم Smile
تم تقييمك
بالتوفيق
اللَّهُمَّ أَنْتَ رَبِّي ، لا إِلَه إِلاَّ أَنْتَ خَلَقْتَني وأَنَا عَبْدُكَ ، وأَنَا على عهْدِكَ ووعْدِكَ ما اسْتَطَعْتُ ، أَعُوذُ بِكَ مِنْ شَرِّ ما صنَعْتُ ، أَبوءُ لَكَ بِنِعْمتِكَ علَيَ ، وأَبُوءُ بذَنْبي فَاغْفِرْ لي ، فَإِنَّهُ لا يغْفِرُ الذُّنُوبِ إِلاَّ أَنْتَ .
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  اكواد - (عرض اسماء الجداول في قاعدة ما - عرض اسماء الاعمدة في جدول ما) سعود 4 1,147 07-09-16, 12:14 AM
آخر رد: محمد بن عطية
  How Can Use INNER JOIN Abu Ehab 3 765 18-11-12, 11:06 PM
آخر رد: zeus

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم