تنفيذ بكفاءة في الانضمام إلى اليسار ، بيانات الجدول المسبق للتصفية
]عند معالجة جداول متعددة ، عادة ما يكون من الضروري تصفية أحد الجداول قبل الانضمام إليها. يتضمن هذا المثال جدولين: جدول العميل وجدول الدخول.
الهدف هو تصفية جدول الإدخال استنادًا إلى الفئة المحددة "D" قبل تنفيذ انضمام يسار بين هذين الجدولين. والنتيجة المتوقعة هي: يتم استرداد جميع السجلات في جدول العميل بغض النظر عما إذا كانت هناك سجلات ذات صلة في جدول الإدخال ؛ وفي الوقت نفسه ، يتم استبعاد السجلات التي لا تفي بمعايير الفئة في جدول الإدخال.
يوضح استعلام SQL التالي كيفية تحقيق ذلك:
SELECT c.Customer, c.State, e.Entry
FROM Customer c
LEFT JOIN Entry e
ON c.Customer=e.Customer
AND e.Category='D'
عن طريق نقل حالة الفلتر إلى حالة الانضمام ، يمكننا تطبيق مرشحات الفئات على جدول الإدخال قبل الانضمام. هذا يضمن أن سجلات الدخول التي تفي بمعايير الفئة فقط يتم تضمينها في نتيجة الاتصال.
عينة الجدول
]客户表 (Customer):
╔══════════╦═══════╗
║ Customer ║ State ║
╠══════════╬═══════╣
║ A ║ S ║
║ B ║ V ║
║ C ║ L ║
╚══════════╩═══════╝
条目表 (Entry):
╔══════════╦═══════╦══════════╗
║ Customer ║ Entry ║ Category ║
╠══════════╬═══════╬══════════╣
║ A ║ 5575 ║ D ║
║ A ║ 6532 ║ C ║
║ A ║ 3215 ║ D ║
║ A ║ 5645 ║ M ║
║ B ║ 3331 ║ A ║
║ B ║ 4445 ║ D ║
╚══════════╩═══════╩══════════╝
نتيجة
╔══════════╦═══════╦═══════╗
║ Customer ║ State ║ Entry ║
╠══════════╬═══════╬═══════╣
║ A ║ S ║ 5575 ║
║ A ║ S ║ 3215 ║
║ B ║ V ║ 4445 ║
║ C ║ L ║ NULL ║
╚══════════╩═══════╩═══════╝
الملخص ، باستخدام الشرط في حالة الانضمام ، يمكننا تصفية الجدول قبل الانضمام إليه ، بحيث يتم استرداد البيانات بشكل أكثر دقة بناءً على الشروط المحددة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3