एक सबक्वेरी, जिसे नेस्टेड क्वेरी या आंतरिक क्वेरी के रूप में भी जाना जाता है, रिलेशनल डेटाबेस के संदर्भ में एक अन्य बड़ी क्वेरी के भीतर एम्बेडेड एक SQL क्वेरी है। सबक्वेरीज़ जटिल डेटा पुनर्प्राप्ति संचालन की सुविधा प्रदान करती हैं और अन्य प्रश्नों के परिणामों का लाभ उठाकर डेटा को क्वेरी करने, फ़िल्टर करने और सॉर्ट करने में अधिक लचीलेपन की अनुमति देती हैं। उपश्रेणियाँ कोष्ठक के भीतर संलग्न हैं और बड़ी SQL क्वेरी के विभिन्न भागों में दिखाई दे सकती हैं, जिनमें SELECT, FROM, WHERE, और HAVING क्लॉज शामिल हैं।
सबक्वेरीज़ का उपयोग आमतौर पर उन परिदृश्यों में किया जाता है जहां किसी अन्य क्वेरी के परिणामों के आधार पर मध्यवर्ती गणना करना या डेटा फ़िल्टर करना आवश्यक होता है। रिलेशनल डेटाबेस के दायरे में, कई तालिकाओं में फैले डेटा तक पहुंचने के लिए सबक्वेरीज़ अक्सर आवश्यक होती हैं, खासकर जब ये डेटा विभिन्न रिश्तों और बाधाओं के अधीन होते हैं।
कई प्रकार की उपश्रेणियाँ हैं जिनका उपयोग किसी दिए गए परिदृश्य की विशिष्ट आवश्यकताओं के आधार पर किया जा सकता है। इसमे शामिल है:
- स्केलर सबक्वेरी: एकल मान लौटाता है।
- कॉलम सबक्वेरी: मानों का एक कॉलम लौटाता है।
- पंक्ति सबक्वेरी: डेटा की एक पंक्ति लौटाता है।
- तालिका सबक्वेरी: डेटा की संपूर्ण तालिका लौटाता है।
उपश्रेणियों को उनके व्यवहार के आधार पर दो श्रेणियों में विभाजित किया जा सकता है:
- सहसंबंधित सबक्वेरी: एक सबक्वेरी जो बाहरी क्वेरी के मान पर निर्भर करती है, और बाहरी क्वेरी में प्रत्येक पंक्ति के लिए एक बार निष्पादित होती है।
- गैर-सहसंबद्ध सबक्वेरी: एक सबक्वेरी जिसे बाहरी क्वेरी से स्वतंत्र रूप से चलाया जा सकता है, एक परिणाम लौटाता है जिसका उपयोग बाहरी क्वेरी द्वारा किया जा सकता है।
सबक्वेरीज़ का उपयोग करते समय, प्रदर्शन निहितार्थों पर विचार करना महत्वपूर्ण है, क्योंकि बड़े डेटासेट और जटिल रिश्ते अत्यधिक कम्प्यूटेशनल ओवरहेड और धीमी क्वेरी प्रदर्शन का कारण बन सकते हैं। सबक्वेरीज़ को अनुकूलित करने के लिए, डेवलपर्स इंडेक्स का लाभ उठा सकते हैं, क्वेरी संकेतों का उपयोग कर सकते हैं, और कैशिंग और पेजिनेशन जैसी अन्य प्रदर्शन ट्यूनिंग तकनीकों को नियोजित कर सकते हैं। सबक्वेरीज़ का उचित उपयोग SQL क्वेरीज़ के लचीलेपन और अभिव्यक्ति को महत्वपूर्ण रूप से बढ़ा सकता है, जिससे डेवलपर्स को अधिक कुशल और परिष्कृत एप्लिकेशन बनाने की अनुमति मिलती है।
AppMaster में, बैकएंड, वेब और मोबाइल एप्लिकेशन बनाने के लिए no-code प्लेटफ़ॉर्म, रिलेशनल डेटाबेस में सबक्वेरीज़ के महत्व को पहचाना जाता है और डिज़ाइन प्रक्रिया में शामिल किया जाता है। AppMaster के विज़ुअल डेटा मॉडल और बिजनेस प्रोसेस डिज़ाइनरों का उपयोग करके, उपयोगकर्ता आसानी से जटिल SQL क्वेरीज़ उत्पन्न कर सकते हैं जिनमें सबक्वेरीज़ शामिल हैं, डेटा को सबसे कुशल तरीके से पुनर्प्राप्त और संसाधित करने के लिए अपने एप्लिकेशन को ठीक कर सकते हैं।
उदाहरण के तौर पर, ऐसे परिदृश्य पर विचार करें जहां कोई उपयोगकर्ता उन ग्राहकों की सूची पुनः प्राप्त करना चाहता है जिन्होंने पिछले महीने के भीतर कम से कम एक ऑर्डर किया है। सबक्वेरीज़ का उपयोग करके, डेवलपर आसानी से एक SQL क्वेरी का निर्माण कर सकता है जो पहले पिछले महीने के भीतर दिए गए सभी ऑर्डर पुनर्प्राप्त करता है, और फिर प्रासंगिक ग्राहक डेटा प्राप्त करने के लिए फ़िल्टर के रूप में इस परिणाम का उपयोग करता है।
चुनना * ग्राहकों से आईडी कहां है ( ग्राहक_आईडी चुनें आदेशों से जहां order_date >= DATEADD(महीना, -1, GETDATE()) );
यह क्वेरी जटिल डेटा पुनर्प्राप्ति संचालन को सक्षम करने और क्वेरी प्रक्रिया को अनुकूलित करने में सबक्वेरीज़ की शक्ति को दर्शाती है। सबक्वेरीज़ का लाभ उठाकर, डेवलपर्स अधिक प्रभावी ढंग से ऐसे एप्लिकेशन डिज़ाइन कर सकते हैं जो उपयोगकर्ताओं की मांगों को पूरा करते हैं, व्यावसायिक नियमों का पालन करते हैं, और अंतर्निहित रिलेशनल डेटाबेस के साथ कुशलतापूर्वक बातचीत करते हैं।
अंत में, रिलेशनल डेटाबेस के संदर्भ में सबक्वेरीज़ SQL क्वेरी का एक प्रमुख पहलू है, जो डेवलपर्स को अधिक कुशल और लचीले एप्लिकेशन बनाने की अनुमति देता है। AppMaster जैसे no-code प्लेटफ़ॉर्म के साथ, डेवलपर्स स्वचालित रूप से एप्लिकेशन उत्पन्न करते हुए अपने डेटा मॉडल और व्यावसायिक प्रक्रियाओं को डिज़ाइन कर सकते हैं जो डेटा पुनर्प्राप्ति और प्रसंस्करण संचालन में सबक्वेरी की क्षमताओं का पूरी तरह से उपयोग करते हैं। सबक्वेरीज़ में महारत हासिल करके, डेवलपर्स रिलेशनल डेटाबेस की पूरी क्षमता को अनलॉक कर सकते हैं, अपने ग्राहकों की विशिष्ट आवश्यकताओं के अनुरूप कुशल, स्केलेबल और परिष्कृत सॉफ़्टवेयर समाधान प्रदान कर सकते हैं।