sql - Selecting records from a many-to-many design -


तीन तालिकाओं, छात्र, कक्षाएं, छात्रकोलास हैं

क्या उन छात्रों का चयन करना संभव है जो नहीं हैं बिना किसी में उपयोग किए बिना किसी भी कक्षा में पंजीकृत?

उदाहरण के लिए छात्रों से छात्रनाम चुनें जहां विद्यार्थियों में नहीं है (छात्र-छात्र से अलग विद्यार्थी चुनें)

तीन तरीके हैं: < / P>

  1. विद्यार्थियों से विद्यार्थियों का चयन करें जहां छात्रवृत्ति नहीं है (छात्रवर्ग से छात्रवृत्ति चुनें)
  2. विद्यार्थियों से विद्यार्थी का चयन करें जहां मौजूद नहीं है विद्यार्थी कक्षा से छात्रवृत्ति चुनें जहां छात्र आईडी = s.StudentID) ; और
  3. विद्यार्थियों से बाहर निकलने वाले विद्यार्थियों से विद्यार्थियों की संख्या का चयन करें। स्टूडेंटआईडी = स्क। स्टुडेंटआईडी जहां स्क। स्टुडेंटआईडी है NULL)
< P> और मैं वास्तव में उपयोग नहीं होता (3)। तो एक को चुनें।

जहां मौजूदा / मौजूद नहीं है को अक्सर IN / नहीं < / code>। आधुनिक अनुकूलक संभवतः (1) और (2) को बहुत ही समय के लिए अनुकूलित करेंगे। यह प्रदर्शन की तुलना करने योग्य है (जब यह महत्वपूर्ण होता है)।


Comments