खोज…


SQL में क्वेरी प्रोसेसिंग का तार्किक क्रम

/*(8)*/  SELECT /*9*/ DISTINCT /*11*/ TOP  
/*(1)*/  FROM 
/*(3)*/        JOIN 
/*(2)*/       ON 
/*(4)*/  WHERE 
/*(5)*/  GROUP BY 
/*(6)*/  WITH {CUBE | ROLLUP}
/*(7)*/  HAVING 
/*(10)*/ ORDER BY 
/*(11)*/ LIMIT 

वह क्रम जिसमें एक क्वेरी संसाधित होती है और प्रत्येक अनुभाग का विवरण होता है।

VT 'वर्चुअल टेबल' के लिए खड़ा है और दिखाता है कि क्वेरी संसाधित होते ही कितने डेटा का उत्पादन होता है

  1. FROM: FROM क्लॉज में पहले दो तालिकाओं के बीच एक कार्टेशियन उत्पाद (क्रॉस जॉइन) किया जाता है, और परिणामस्वरूप वर्चुअल टेबल VT1 उत्पन्न होता है।

  2. चालू: VT1 पर ON फ़िल्टर लागू किया गया है। केवल वे पंक्तियाँ जिनके लिए TRUE है, VT2 में सम्मिलित हैं।

  3. OUTER (ज्वाइन): यदि कोई OOO JOIN निर्दिष्ट किया जाता है (जैसे कि CROSS JOIN या INNER JOIN के विपरीत), संरक्षित तालिका या तालिकाओं से पंक्तियाँ जिसके लिए एक मैच नहीं मिला, बाहरी पंक्तियों के रूप में VT2 से पंक्तियों में जोड़ दी जाती हैं, ( VT3। यदि FROM क्लॉज में दो से अधिक तालिकाएँ दिखाई देती हैं, तो चरण 3 में से 1 को अंतिम जॉइन के परिणाम और सभी तालिकाओं के संसाधित होने तक FROM क्लॉज़ की अगली तालिका के बीच बार-बार लागू किया जाता है।

  4. जहां: वीटी 3 पर फिल्टर लगाया जाता है। केवल वे पंक्तियाँ जिनके लिए TRUE है, VT4 में सम्मिलित हैं।

  5. ग्रुप बाय: वीटी 4 से पंक्तियों को ग्रुप बीओ क्लॉज में निर्दिष्ट कॉलम सूची के आधार पर समूहों में व्यवस्थित किया जाता है। VT5 उत्पन्न होता है।

  6. घन | रोलअप: सुपरग्रुप्स (समूहों के समूह) वीटी 5 से पंक्तियों में जोड़े जाते हैं, जिससे वीटी 6 उत्पन्न होता है।

  7. HAVING: HAVING फ़िल्टर VT6 पर लागू होता है। केवल वे समूह जिनके लिए TRUE है, को VT7 में डाला गया है।

  8. चयन करें: चयनित सूची को संसाधित किया जाता है, जिससे वीटी 8 उत्पन्न होता है।

  9. DISTINCT: डुप्लिकेट पंक्तियों को VT8 से हटा दिया जाता है। VT9 उत्पन्न होता है।

  10. ORDER BY: VT9 की पंक्तियों को ORDER BY क्लॉज में निर्दिष्ट कॉलम सूची के अनुसार क्रमबद्ध किया गया है। एक कर्सर उत्पन्न होता है (VC10)।

  11. टॉप: वीसी 10 की शुरुआत से निर्दिष्ट संख्या या पंक्तियों का प्रतिशत चुना गया है। तालिका VT11 उत्पन्न होती है और कॉलर को वापस कर दी जाती है। कुछ SQL बोलियों जैसे Postgres और Netezza में LIMIT की TOP जैसी ही कार्यक्षमता है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow