![...](/f/14c7ca74d0accf01184229f710faeb14.jpg)
डेटाबेस क्वेरीज़ डेटाबेस से विशिष्ट जानकारी प्राप्त करती हैं।
एक सबक्वेरी किसी अन्य क्वेरी के भीतर एक क्वेरी है। एक सबक्वेरी में एक और सबक्वेरी भी हो सकती है। इन्हें "नेस्टेड" सबक्वेरी कहा जाता है। एक जुड़ाव तब होता है जब क्वेरी के "प्रेषक" खंड में दो या दो से अधिक तालिकाओं का संदर्भ दिया जाता है। अलग-अलग डेटाबेस इंजन सबक्वेरीज़ को ऑप्टिमाइज़ कर सकते हैं और अलग तरह से जुड़ सकते हैं। उदाहरण के लिए, यदि कुछ मानदंड पूरे होते हैं, तो DB2 का ऑप्टिमाइज़र एक सबक्वेरी को एक जॉइन में बदल देगा। कुछ उदाहरणों में, एक सबक्वेरी की तुलना में एक जुड़ाव बेहतर प्रदर्शन देता है।
क्या एक सबक्वेरी बनाता है
एक सबक्वेरी बाहरी "INSERT," "UPDATE," "MERGE" या "DELETE" स्टेटमेंट के "WHERE" या "HAVING" क्लॉज के भीतर एक "SELECT" स्टेटमेंट है। सबक्वेरी को "आंतरिक क्वेरी" या "आंतरिक चयन" भी कहा जाता है। सबक्वेरी में एक या अधिक तालिकाओं के साथ "FROM" खंड हो सकता है और वैकल्पिक रूप से "WHERE," "GROUP BY" या "HAVING" खंड हो सकता है। यह हमेशा कोष्ठक में संलग्न होता है।
दिन का वीडियो
उपश्रेणियों के फायदे और नुकसान
उपश्रेणियाँ लाभप्रद हैं क्योंकि वे कथन के प्रत्येक भाग को अलग करने के लिए क्वेरी की संरचना करती हैं, वही ऑपरेशन करें जिसके लिए आमतौर पर जटिल जॉइन और यूनियनों की आवश्यकता होती है और करना आसान होता है पढ़ना। उपश्रेणियाँ यहां तक कि "स्ट्रक्चर्ड क्वेरी लैंग्वेज" (एसक्यूएल) नाम का आधार थीं क्योंकि उनकी आसानी से पठनीय संरचना थी। एक नुकसान यह है कि आप एक तालिका को संशोधित नहीं कर सकते हैं और उसी SQL कथन में एक सबक्वायरी के भीतर उसी तालिका से चयन कर सकते हैं। डेटाबेस ऑप्टिमाइज़र उन्हें कैसे प्रोसेस करता है, इस वजह से सबक्वायरीज़ को शामिल होने की तुलना में निष्पादित होने में अधिक समय लग सकता है।
क्या जुड़ता है
अधिकांश सबक्वेरी को जॉइन के रूप में फिर से लिखा जा सकता है, और अधिकांश जॉइन को सबक्वायरी के रूप में फिर से लिखा जा सकता है। एक जॉइन संबंधित कॉलम द्वारा दो या दो से अधिक तालिकाओं को परिभाषित करता है। टेबल्स आमतौर पर प्राथमिक और विदेशी कुंजियों से जुड़े होते हैं। उदाहरण के लिए, एक कर्मचारी तालिका में एक कर्मचारी आईडी कॉलम की प्राथमिक कुंजी हो सकती है, जबकि एक टाइमशीट तालिका में एक कर्मचारी आईडी कॉलम भी होता है जो कर्मचारी तालिका की एक विदेशी कुंजी होती है। SQL जॉइन को "WHERE Employee.empid = timesheet.empid" या "FROM Employee JOIN Timesheet ON (employee.empid = timesheet.empid)" के रूप में लिखा जा सकता है।
जुड़ने के फायदे और नुकसान
शामिल होने का मुख्य लाभ यह है कि यह तेजी से निष्पादित होता है। प्रदर्शन वृद्धि अंतिम उपयोगकर्ता द्वारा ध्यान देने योग्य नहीं हो सकती है। हालाँकि, क्योंकि कॉलम को विशेष रूप से डेटाबेस इंजन द्वारा नामित और अनुक्रमित और अनुकूलित किया जाता है, पुनर्प्राप्ति समय लगभग हमेशा एक सबक्वेरी की तुलना में तेज़ होगा। इनर और आउटर जॉइन, लेफ्ट और राइट जॉइन, फुल जॉइन और क्रॉस जॉइन भी हैं। जॉइन का उपयोग करने का एक नुकसान यह है कि वे सबक्वेरी के रूप में पढ़ने में आसान नहीं हैं। एक और नुकसान यह है कि यह भ्रमित करने वाला हो सकता है कि सही वांछित परिणाम सेट प्राप्त करने के लिए उपयोग करने के लिए कौन सा जुड़ाव उपयुक्त प्रकार का जुड़ाव है।