ओआरकल द्वारा ओरेकल 9i रिलीज 2 डेटाबेस में खंड के साथ एसक्यूएल प्रस्तुत किया गया था। खंड के साथ एसक्यूएल आपको उप-क्वेरी ब्लॉक को एक नाम (एक प्रक्रिया जिसे उप-क्वेरी रिफैक्टरिंग भी कहा जाता है) देने की अनुमति देता है, जिसे मुख्य SQL क्वेरी के भीतर कई स्थानों पर संदर्भित किया जा सकता है। सब-क्वेरी को असाइन किया गया नाम इस तरह माना जाता है कि यह एक इनलाइन व्यू या टेबल था। खंड के साथ एसक्यूएल मूल रूप से सामान्य उप-क्वेरी के लिए एक ड्रॉप-इन प्रतिस्थापन है।
सिंटेक्स खण्ड
निम्नलिखित के साथ एसक्यूएल के लिए खंड के साथ एसक्यूएल की वाक्य रचना जब एक उप क्वेरी उपनाम का उपयोग है।
WITH <alias_name> AS (sql_subquery_statement)
SELECT column_list FROM <alias_name>[,table_name]
[WHERE <join_condition>]
एकाधिक उप-क्वेरी उपनामों का उपयोग करते समय, वाक्यविन्यास निम्नानुसार है।
WITH <alias_name_A> AS (sql_subquery_statement),
<alias_name_B> AS(sql_subquery_statement_from_alias_name_A
or sql_subquery_statement)
SELECT <column_list>
FROM <alias_name_A>, <alias_name_B> [,table_names]
[WHERE <join_condition>]
वाक्य रचना प्रलेखन में ऊपर, alias_name
की घटनाओं को एक सार्थक नाम आप के रूप में खंड के बाद उप क्वेरी के लिए देना होगा है। प्रत्येक उप-क्वेरी को अल्पविराम Example for WITH statement से अलग किया जाना चाहिए। शेष प्रश्न सरल और जटिल एसक्यूएल चयन प्रश्नों के लिए मानक प्रारूपों का पालन करते हैं।
अधिक जानकारी के लिए: http://www.brighthub.com/internet/web-development/articles/91893.aspx
http://msdn.microsoft.com/en-us/library/ms175972(v=sql.105).aspx – Vikdor
क्या आप MYSQL का उपयोग कर रहे हैं? बी/सी यह समर्थित नहीं है। –
मैंने एक उदाहरण दिया है कि अस्थायी स्थैतिक तालिका बनाने के लिए खंड के साथ कैसे उपयोग करें। आपको यह उपयोगी मिल सकता है, क्योंकि इसमें आपके प्रश्नों के खंडों के साथ उपयोग करने के कुछ उदाहरण हैं। http://www.giombetti.com/2014/02/14/using-sql-with-clause-to-create- समकालीन-static-tables-at-query-time/ –