आम तौर पर सभी चयन फॉर्म के होते हैं SELECT [columns, scalar computations on columns, grouped computations on columns, or scalar computations] FROM [table or joins of tables, etc]
क्योंकि यह सादा अदिश संगणना की अनुमति देता है, हम कुछ ऐसा कर सकते हैं जैसे SELECT 1 + 1 FROM SomeTable
और यह तालिका में प्रत्येक पंक्ति के लिए मान 2 के साथ एक रिकॉर्डसेट लौटाएगा SomeTable
।
अब, अगर हमें किसी तालिका की परवाह नहीं है, लेकिन हम अपने स्केलर की गणना करना चाहते हैं, तो हम कुछ ऐसा करना चाहेंगे जैसे SELECT 1 + 1
. मानक द्वारा इसकी अनुमति नहीं है, लेकिन यह उपयोगी है और अधिकांश डेटाबेस इसकी अनुमति देते हैं (ओरेकल तब तक नहीं करता जब तक कि इसे हाल ही में नहीं बदला गया है, कम से कम यह नहीं हुआ करता था)।
इसलिए इस तरह के नंगे चयनों को माना जाता है जैसे कि उनके पास एक खंड था जिसमें एक पंक्ति और कोई कॉलम वाली तालिका निर्दिष्ट नहीं थी (बेशक असंभव, लेकिन यह चाल है)। इसलिए SELECT 1 + 1
हो जाता है SELECT 1 + 1 FROM ImaginaryTableWithOneRow
जो 2
. के मान के साथ एकल कॉलम वाली एक पंक्ति लौटाता है ।
अधिकतर हम इसके बारे में नहीं सोचते हैं, हम बस इस तथ्य के अभ्यस्त हो जाते हैं कि नंगे चयन परिणाम देते हैं और इस तथ्य के बारे में भी नहीं सोचते कि एक पंक्ति को वापस करने के लिए कुछ एक-पंक्ति वाली चीज़ का चयन किया जाना चाहिए।
SELECT COUNT(*)
करने में आपने SELECT COUNT(*) FROM ImaginaryTableWithOneRow
. के बराबर किया है जो निश्चित रूप से 1 लौटाता है।