سعيد يوسف نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 ما الفرق بين تحديد أسماء الأعمدة التي أريد تطبيق الربط عليها باستخدام ON مع الشرط وبين استخدام (col_name)USING 1 اقتباس
1 Wael Aljamal نشر 25 أكتوبر 2021 أرسل تقرير نشر 25 أكتوبر 2021 نستخدم USING في حال كان للجدولين نفس اسم العمود الذي سنقوم بالربط بين الجدولين عليه، أي هي فقط اختصار لكتابة الشيفرة البرمجية، وتستخدم في حالات خاصة. مثلا نستخدم USING عند عمل NATURAL JOIN لأنه يعتمد على دمج نتائج الأعمدة التي تحمل نفس الاسم. الاستعلامين التاليين متكافئين: SELECT * FROM TA AS a INNER JOIN TB AS b USING (Col_1); SELECT * FROM TA AS a INNER JOIN TB AS b ON a.Col_1 = b.Col_1; وفي NATURAL JOIN سيكون الدمج تلقائي بافتراض col_1 مشترك كما في المثال السابق: SELECT * FROM TA NATURAL JOIN TB عادة استخدام USING غير عملي، بسبب اختلاف أسماء الأعمدة بين الجداول، وعدم القدرة على عمل أكثر من ربط أو وضع أكثر من شرط على خلاف JOIN ON 1 اقتباس
0 Ahmed Sharshar نشر 26 أكتوبر 2021 أرسل تقرير نشر 26 أكتوبر 2021 بشكل عام يمكن اعتبار الفرق بين الأثنين أقرب لكونه طريقة كتابة فقط الا أنه هناك بعض الفروقات الصغيرة بينهما. ON هو الأكثر عمومية . يمكن استخدامها لضم merge الجداول على عمود مشترك ، أو مجموعة من الأعمدة أو حتى شرط كالمثال التالي: SELECT * FROM world.City JOIN world.Country ON (City.Code = Country.Code) بينما يكون USING مفيدًا عندما يشترك كلا الجدولين في عمود يحمل نفس الاسم الذي ينضمون إليه. في هذه الحالة كمثال: SELECT ... FROM Country JOIN world USING (country_id) WHERE ... كذلك من الأشياء الرائعة الإضافية أن المرء لا يحتاج إلى تأهيل الأعمدة للدمج بشكل كامل هكذا: SELECT film.title, film_id FROM film JOIN film_actor USING (film_id) WHERE ... عوضا عن كتابتها باستخدام ON كاملة هكذا: SELECT film.title, film.film_id FROM film JOIN film_actor ON (film.film_id = film_actor.film_id) WHERE ... 1 اقتباس
السؤال
سعيد يوسف
ما الفرق بين تحديد أسماء الأعمدة التي أريد تطبيق الربط عليها باستخدام ON مع الشرط وبين استخدام (col_name)USING
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.