उस परिणाम के बारे में कुछ भी अप्रत्याशित नहीं है, सिवाय शायद अगर आप इसे नहीं समझते हैं।
प्रत्येक सीटीई का समाधान किया जाता है each and every time
यह संदर्भित है। हां, यही कारण है कि एक साधारण सीटीई के लिए एक उच्च लेनदेन तालिका पर एक संदर्भ में 4 पंक्तियां और अगले 2 स्तरों में 5 पंक्तियों को वापस करना संभव है।
हालांकि, आपके नमूने पर, यह ऑर्डर द्वारा NEWID() के कारण है, मूल सीटीई के प्रत्येक संकल्प को एक अलग row_number() -ing दे रहा है। क्या आपको लगता है कि CTE को मेमोरी में स्टोर किया जाता है और कैश किया जाता है? SQLFiddle साइट पर, आपके परिणामों के अंतर्गत, एक "निष्पादन योजना देखें" लिंक है। यह तालिका के 2 अलग, अलग स्कैन दिखाता है ।