यह "डिज़ाइन द्वारा" है
SQL सर्वर (या कोई RDBMS) किसी विशेष क्रम में परिणामों को लौटाए जाने की गारंटी नहीं देता है यदि कोई ORDER BY
नहीं है खंड निर्दिष्ट किया गया था। कुछ लोग सोचते हैं कि पंक्तियों को हमेशा संकुल अनुक्रमणिका क्रम या भौतिक डिस्क क्रम में लौटाया जाता है यदि खंड द्वारा कोई आदेश निर्दिष्ट नहीं किया गया है। हालांकि, यह गलत है क्योंकि ऐसे कई कारक हैं जो क्वेरी प्रोसेसिंग के दौरान पंक्ति क्रम को बदल सकते हैं। समानांतर HASH जॉइन उस ऑपरेटर के लिए एक अच्छा उदाहरण है जो पंक्ति क्रम को बदलता है।
यदि आप ORDER BY
निर्दिष्ट करते हैं खंड, SQL सर्वर पंक्तियों को सॉर्ट करेगा और उन्हें अनुरोधित क्रम में वापस कर देगा। हालांकि, यदि वह आदेश नियतात्मक नहीं है क्योंकि आपके पास डुप्लिकेट मान हैं, तो प्रत्येक "मान समूह" के भीतर आदेश ऊपर बताए गए समान कारणों के लिए "यादृच्छिक" है।
नियतात्मक आदेश की गारंटी देने का एकमात्र तरीका एक गारंटीकृत अद्वितीय कॉलम या कॉलम समूह (उदाहरण के लिए प्राथमिक कुंजी) को ORDER BY
में शामिल करना है। खंड।