Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL सबक्वेरी और इसकी सामान्य श्रेणियां क्या हैं?


एक सबक्वेरी को एक क्वेरी के भीतर एक क्वेरी के रूप में सबसे अच्छी तरह से परिभाषित किया जाता है। उपश्रेणियाँ आपको क्वेरी लिखने में सक्षम बनाती हैं जो मानदंड के लिए डेटा पंक्तियों का चयन करती हैं जो वास्तव में तब विकसित होती हैं जब क्वेरी रनटाइम पर निष्पादित होती है। अधिक औपचारिक रूप से, यह किसी अन्य चयन कथन के किसी एक खंड के अंदर एक चयन कथन का उपयोग होता है। वास्तव में, एक सबक्वेरी को किसी अन्य सबक्वेरी के अंदर समाहित किया जा सकता है, जो कि किसी अन्य सबक्वेरी के अंदर है, और आगे भी। एक सबक्वेरी को INSERT, UPDATE और DELETE स्टेटमेंट्स के अंदर भी नेस्ट किया जा सकता है। उपश्रेणियों को कोष्ठक में संलग्न किया जाना चाहिए।

एक सबक्वेरी का उपयोग किसी भी स्थान पर किया जा सकता है जहां एक एक्सप्रेशन की अनुमति दी जाती है बशर्ते वह एक ही मान लौटाए। इसका मतलब यह है कि एक सबक्वेरी जो एकल मान लौटाती है, उसे FROM क्लॉज लिस्टिंग में एक ऑब्जेक्ट के रूप में भी सूचीबद्ध किया जा सकता है। इसे एक इनलाइन व्यू कहा जाता है क्योंकि जब एक सबक्वेरी का उपयोग FROM क्लॉज के हिस्से के रूप में किया जाता है, तो इसे वर्चुअल टेबल या व्यू की तरह माना जाता है। एक सबक्वेरी को या तो FROM क्लॉज, WHERE क्लॉज या मुख्य क्वेरी के HAVING क्लॉज में रखा जा सकता है। इसे आंतरिक क्वेरी या आंतरिक चयन भी कहा जाता है और जिस क्वेरी में सबक्वेरी होती है उसे बाहरी क्वेरी या बाहरी चयन या कंटेनर क्वेरी कहा जाता है। निम्नलिखित इसकी सामान्य श्रेणियां हैं -

स्केलर सबक्वेरी

स्केलर सबक्वेरी डेटा के एक कॉलम के साथ एकल मान यानी एक पंक्ति लौटाती है। एक स्केलर सबक्वेरी एक साधारण ऑपरेंड है और हम इसे लगभग कहीं भी इस्तेमाल कर सकते हैं, एक कॉलम या शाब्दिक कानूनी है। इसे स्पष्ट करने के लिए हम 'कार', 'ग्राहक' और 'आरक्षण' तालिकाओं का उपयोग कर रहे हैं जिनमें निम्नलिखित डेटा हैं -

mysql> कारों से * चुनें;+------+--------------+--------+| आईडी | नाम | कीमत |+----------+--------------+-----------+| 1 | नेक्सा | 750000 || 2 | मारुति स्विफ्ट | 450000 || 3 | बीएमडब्ल्यू | 4450000 || 4 | वोल्वो | 2250000 || 5 | ऑल्टो | 250000 || 6 | स्कोडा | 1250000 || 7 | टोयोटा | 240000 || 8 | फोर्ड | 1100000 |+------+--------------+-----------+8 पंक्तियों में सेट (0.02 सेकंड)mysql> ग्राहकों से * चुनें; +---------------+----------+| Customer_Id | नाम |+---------------+----------+| 1 | राहुल || 2 | यशपाल || 3 | गौरव || 4 | वीरेंद्र |+---------------+----------+4 पंक्तियों में सेट (0.00 सेकंड)mysql> आरक्षण से * चुनें; +------ +---------------+---------------+| आईडी | Customer_id | दिन |+------+-------------+-----------+| 1 | 1 | 2017-12-30 || 2 | 2 | 2017-12-28 || 3 | 2 | 2017-12-29 || 4 | 1 | 2017-12-25 || 5 | 3 | 2017-12-26 |+----------+-------------+---------------+5 पंक्तियाँ सेट में (0.00 सेकंड) 

जैसा कि हम जानते हैं कि स्केलर सबक्वेरी एक मान लौटाएगी, निम्नलिखित एक स्केलर सबक्वेरी है -

mysql> ग्राहकों से नाम चुनें जहां Customer_id =(आरक्षण से Customer_id चुनें जहां आईडी =5);+--------+| नाम |+-----------+| गौरव |+----------+1 पंक्ति में सेट (0.06 सेकंड)

टेबल सबक्वेरी

एक टेबल सबक्वेरी डेटा के एक या अधिक कॉलम वाली एक या अधिक पंक्तियों के साथ एक परिणाम देता है। टेबल 'कार', 'ग्राहक' और 'आरक्षण' से डेटा का उपयोग करते हुए निम्नलिखित क्वेरी टेबल सबक्वेरी का एक उदाहरण है -

mysql> उन ग्राहकों से नाम चुनें जहां Customer_id IN (रिजर्वेशन से DISTINCT Customer_id चुनें);+---------+| नाम |+------------+| राहुल || यशपाल || गौरव |+-----------+3 पंक्तियाँ सेट में (0.05 सेकंड)

सहसंबंधित सबक्वेरी

एक सहसंबद्ध सबक्वेरी एक सबक्वेरी है जो अपने WHERE क्लॉज में बाहरी क्वेरी के मानों का उपयोग करती है। टेबल 'कार्स' से डेटा का उपयोग करते हुए निम्नलिखित क्वेरी एक सहसंबद्ध सबक्वेरी का एक उदाहरण है -

mysql> कारों से नाम चुनें जहां कीमत <(कार से औसत (कीमत) चुनें);+--------------+| नाम |+--------------+| नेक्सा || मारुति स्विफ्ट || ऑल्टो || स्कोडा || फोर्ड |+--------------+5 पंक्तियों में सेट (0.00 सेकंड)mysql> कारों से नाम चुनें जहां मूल्य> (कारों से औसत (मूल्य) चुनें);+---- ----+| नाम |+-----------+| बीएमडब्ल्यू || वोल्वो || टोयोटा |+----------+3 पंक्तियों में सेट (0.00 सेकंड)

  1. MySQL में BLOB और TEXT डेटाटाइप के बीच क्या अंतर हैं?

    BLOB का मतलब बाइनरी लार्ज ऑब्जेक्ट्स है और जैसा कि इसके नाम से पता चलता है, इसका उपयोग बाइनरी डेटा को स्टोर करने के लिए किया जा सकता है जबकि टेक्स्ट का उपयोग बड़ी संख्या में स्ट्रिंग्स को स्टोर करने के लिए किया जाता है। बीएलओबी का उपयोग बाइनरी डेटा को स्टोर करने के लिए किया जा सकता है जिसका अर्थ है

  1. विंडोज डोमेन क्या है और इसके क्या फायदे हैं?

    यदि आप अपने कार्यस्थल या विद्यालय में कंप्यूटर का उपयोग करते हैं, तो यह लगभग निश्चित रूप से एक विंडोज़ डोमेन का हिस्सा है। लेकिन उसका वास्तव में मतलब क्या है? एक डोमेन क्या करता है, और एक से जुड़ने वाले कंप्यूटर के क्या फायदे हैं? आइए देखें कि विंडोज डोमेन क्या है, वे कैसे काम करते हैं और व्यवसाय उ

  1. डिस्क क्लीनअप क्या है और इसके क्या फायदे हैं?

    अपने डिस्क स्थान को साफ करना और व्यवस्थित करना आपके सिस्टम के कार्यों को इष्टतम कार्यशील स्थिति में रखने के लिए एक आवश्यक रखरखाव कार्य है। यह आपको काफी मात्रा में डिस्क स्थान को पुनर्प्राप्त करने में भी मदद करता है और आपकी रैम को ओवरक्लॉकिंग से बचाता है। हालांकि आपके मैक या विंडोज सिस्टम के नियमित ड