سعيد يوسف نشر 6 أكتوبر 2021 أرسل تقرير نشر 6 أكتوبر 2021 أريد معرفة الفرق في استخدام كل من join و subquery ومتى نستخدم كل منهم 1 اقتباس
1 Wael Aljamal نشر 6 أكتوبر 2021 أرسل تقرير نشر 6 أكتوبر 2021 نستخدم JOIN عندما نريد الربط بين جدولين اعتماداً على قيمة أحد الحقول والتي غالبا تكون مفتاح رئيسي في أحد الجدولين ومفتاح ثانوي في الجدول الآخر (مع العلم يمكن الربط بين الجدول ونفسه) نستخدمها عندما يكون لدينا معلومات لكائن ما في الجدول موجودة في جدولين أو أكثر، حيث نضطر لعمل ربط بين جدولين مثلا. جدول الموظفين يحوي معلومات الموظف مع رقم القسم فقط، وجدول الأقسام يحوي على رقم القسم و اسم القسم وموقعه، لذلك هنا علينا الربط بين الجدولين لنعرف اسم القسم وموقعه لكل موظف. ويتم الربط بناءاً على رقم القسم. SELECT * FROM Employees INNER JOIN Departement ON Employees.deptID = Departement.ID; أما Subquery نستخدمها لعمل استعلام جزئي يعيد لنا بعض النتائج، والتي نعتمد عليها في الاستعلام الأساسي حيث يكون من الصعب عمل فلترة من خلال استعلام واحد (أو مثلا نحتاج لعمل فلترة في جدول آخر ثم فلترة أخرى في جدولنا). مثلا نجلب معلومات المنتجات (من جدول المنتجات) التي تم بيعها أكثر من 10 مرات (عدد مرات البيع من جدول الفواتير/الطلبيات) SELECT p.Name FROM Products p WHERE ProductID = ANY (SELECT ProductID FROM Orders WHERE Quantity > 10); أحيانا يمكن عمل نفس الاستعلام عن طريق JOIN أو Subquery ويفضل استخدام JOIN لأنه أسرع في معظم الوقت لأن عملية الربط بين الجداول تكون مفهرسة وتعتمد على المفتاح الرئيسي و الثانوي .. أي عملية تطابق السجلات تكون سريعة مع ملاحظة أن الاستعلام الفرعي يتم تنفيذه أولا ولمرة واحدة (أو أكثر حسب نوع الاستعلام فإن كان هنالك عنصر يتم اختباره من الاستعلام الأب سيتكرر استدعاء الاستعلام الفرعي). والدمج ينتج جدول يحوي جميع الحقول في كلا الجدولين المدموجين حسب حقل الربط. 2 اقتباس
السؤال
سعيد يوسف
أريد معرفة الفرق في استخدام كل من join و subquery ومتى نستخدم كل منهم
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.