MySQL स्केलर सबक्वेरी एक पंक्ति से ठीक एक कॉलम मान देता है और हम इसका उपयोग कर सकते हैं जहां एक एकल कॉलम की अनुमति है। निम्नलिखित मामले हैं जब अदिश उपश्रेणियाँ एक पंक्ति के अलावा अन्य मान लौटाती हैं -
Case1 - जब यह 0 पंक्तियाँ लौटाता है
यदि सबक्वेरी 0 पंक्तियाँ लौटाती है तो स्केलर सबक्वेरी एक्सप्रेशन का मान NULL होगा।
Case2 − जब यह एक से अधिक पंक्तियाँ लौटाता है
यदि सबक्वेरी एक से अधिक पंक्ति लौटाती है, तो स्केलर सबक्वेरी की संपत्ति के कारण, MySQL एक त्रुटि देता है।
इसे एक उदाहरण की सहायता से समझा जा सकता है जो निम्न तालिका से डेटा का उपयोग करता है -
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> ग्राहकों से नाम चुनें जहां ग्राहक_आईडी =(आरक्षण से ग्राहक_आईडी चुनें जहां आईडी =3);+---------+| नाम |+------------+| यशपाल |+-----------+1 पंक्ति में सेट (0.00 सेकंड)अब, मान लें कि यदि सबक्वेरी 0 रो देता है तो इसका मतलब है कि स्केलर सबक्वेरी एक्सप्रेशन का मान NULL है। यह निम्नलिखित क्वेरी में दिखाया गया है -
mysql> ग्राहकों से नाम चुनें जहां ग्राहक_आईडी =(आरक्षण से ग्राहक_आईडी चुनें जहां आईडी =10);खाली सेट (0.00 सेकंड)उपरोक्त परिणाम सेट से हम देख सकते हैं कि MySQL खाली सेट यानी 0 पंक्तियों को लौटाता है क्योंकि स्केलर सबक्वेरी एक्सप्रेशन का मान यदि NULL (कोई आईडी जो 10 के बराबर नहीं है)।
MySQL क्वेरी के साथ स्केलर सबक्वेरी का उपयोग करने में प्रतिबंध यह है कि हम एक स्केलर सबक्वेरी का उपयोग स्टेटमेंट्स के साथ कर सकते हैं जो केवल शाब्दिक मूल्य की अनुमति देता है। उदाहरण के लिए, जैसा कि हम जानते हैं कि LIMIT को शाब्दिक पूर्णांक तर्कों की आवश्यकता होती है, इसलिए हम इन मानों की आपूर्ति के लिए अदिश उपश्रेणियों का उपयोग नहीं कर सकते।