लेखक द्वारा छवि
डेटा की दुनिया में, SQL अभी भी डेटाबेस के साथ इंटरैक्ट करने की भाषा के रूप में खड़ा है।
आज भी यह डेटा से निपटने के लिए सबसे अधिक उपयोग की जाने वाली भाषाओं में से एक है और इसे अभी भी किसी भी अच्छे डेटा पेशेवर के लिए जरूरी माना जाता है।
हालाँकि, जिसने भी जटिल SQL प्रश्नों के साथ काम किया है, वह जानता है कि वे जल्दी से बोझिल जानवरों में बदल सकते हैं - पढ़ना, बनाए रखना या पुन: उपयोग करना मुश्किल है।
यही कारण है कि आज एसक्यूएल को जानना ही पर्याप्त नहीं है, हमें प्रश्नों को तैयार करने में भी कुशल होना होगा। और ये असल में एक तरह की कला है.
यहीं पर कॉमन टेबल एक्सप्रेशन (सीटीई) चलन में आते हैं, जो क्वेरी लिखने की कला को अधिक संरचित और सुलभ शिल्प में बदल देते हैं।
तो आइए एक साथ मिलकर जानें कि पठनीय और पुन: प्रयोज्य प्रश्नों को कैसे कोड किया जाए।
यदि आप सोच रहे हैं कि CTE क्या है, तो आप सही लेख पर हैं।
कॉमन टेबल एक्सप्रेशन (CTE) एक अस्थायी परिणाम सेट है जिसे एकल SQL कथन के निष्पादन दायरे में परिभाषित किया गया है।
वे अस्थायी सारणी हैं जिन्हें एक ही क्वेरी के भीतर कई बार संदर्भित किया जा सकता है और आम तौर पर एसक्यूएल कोड की पठनीयता और संगठन को बढ़ाने के अंतिम लक्ष्य के साथ जटिल जोड़ों और उपक्वेरी को सरल बनाने के लिए उपयोग किया जाता है।
इसलिए वे जटिल प्रश्नों को सरल भागों में तोड़ने के लिए शक्तिशाली उपकरण हैं।
यहां बताया गया है कि आपको सीटीई का उपयोग करने पर विचार क्यों करना चाहिए:
- प्रतिरूपकता: आप जटिल तर्क को पढ़ने योग्य टुकड़ों में तोड़ सकते हैं।
- पठनीयता: यह SQL क्वेरी के प्रवाह को समझना आसान बनाता है।
- पुनर्प्रयोग: दोहराव से बचने के लिए सीटीई को एक ही प्रश्न में कई बार संदर्भित किया जा सकता है।
जादू विद क्लॉज से शुरू होता है, जो आपकी मुख्य क्वेरी से पहले होता है और उपनामों के साथ विभिन्न अस्थायी तालिकाओं (सीटीई) को परिभाषित करता है।
इसलिए, हमें अपने CTE को परिभाषित करने के लिए हमेशा अपनी क्वेरी "WITH" कमांड से शुरू करनी होगी। CTE का उपयोग करके, हम किसी भी जटिल SQL क्वेरी को इसमें विभाजित कर सकते हैं:
- छोटी अस्थायी तालिकाएँ जो संबंधित चर की गणना करती हैं।
- एक अंतिम तालिका जो केवल उन वेरिएबल्स को लेती है जिन्हें हम अपने आउटपुट के रूप में चाहते हैं।
और यह बिल्कुल वही मॉड्यूलर दृष्टिकोण है जो हम किसी भी कोड में चाहते हैं!
लेखक द्वारा छवि
इसलिए हमारे प्रश्नों में सीटीई का उपयोग हमें इसकी अनुमति देता है:
- एक अस्थायी तालिका को एक बार निष्पादित करें और इसे कई बार संदर्भित करें।
- पठनीयता में सुधार करें और जटिल तर्क को सरल बनाएं।
- कोड पुन: प्रयोज्यता और मॉड्यूलर डिज़ाइन को बढ़ावा देना।
इसे बेहतर ढंग से समझने के लिए, हम बार्सिलोना में Airbnb लिस्टिंग का एक व्यावहारिक उदाहरण ले सकते हैं।
कल्पना कीजिए कि हम आस-पड़ोस के आधार पर लिस्टिंग के प्रदर्शन का विश्लेषण करना चाहते हैं और इसकी तुलना शहर के समग्र प्रदर्शन से करना चाहते हैं। आपको पड़ोस, व्यक्तिगत अपार्टमेंट, मेजबान और मूल्य निर्धारण के बारे में जानकारी एकत्र करने की आवश्यकता होगी।
इसका उदाहरण देने के लिए, हम इसका उपयोग करेंगे इनसाइडएयरबीएनबी बार्सिलोना की तालिका, जो इस प्रकार दिखती है:
एक अनुभवहीन दृष्टिकोण आपको नेस्टेड सबक्वेरीज़ बनाने के लिए प्रेरित कर सकता है जो जल्द ही निम्नलिखित की तरह एक रखरखाव दुःस्वप्न बन जाएगा:
लेखक द्वारा कोड
इसके बजाय, हम अपनी क्वेरी को तार्किक खंडों में विभाजित करने के लिए सीटीई का उपयोग कर सकते हैं - प्रत्येक पहेली के एक हिस्से को परिभाषित करता है।
- पड़ोस डेटा: आस-पड़ोस के आधार पर डेटा को सारांशित करने के लिए एक CTE बनाएं।
- अपार्टमेंट और मेज़बान जानकारी: अपार्टमेंट और होस्ट के बारे में विवरण के लिए सीटीई को परिभाषित करें।
- शहर-व्यापी मेट्रिक्स: तुलना के लिए शहर-स्तरीय आंकड़े इकट्ठा करने के लिए एक और सीटीई।
- अंतिम सभा: डेटा को सुसंगत रूप से प्रस्तुत करने के लिए CTE को अंतिम चयन कथन में संयोजित करें।
लेखक द्वारा छवि
और हम निम्नलिखित प्रश्न के साथ समाप्त होंगे:
लेखक द्वारा कोड
सीटीई का उपयोग करके, हम संभावित रूप से राक्षसी एकल क्वेरी को डेटा मॉड्यूल के एक संगठित सेट में बदल देते हैं। यह मॉड्यूलर दृष्टिकोण SQL कोड को अधिक सहज और परिवर्तनों के अनुकूल बनाता है।
यदि नई आवश्यकताएं सामने आती हैं, तो आप संपूर्ण क्वेरी को ओवरहाल किए बिना सीटीई को समायोजित या जोड़ सकते हैं।
एक बार जब आप अपना सीटीई स्थापित कर लेते हैं, तो आप तुलनात्मक विश्लेषण करने के लिए उनका पुन: उपयोग कर सकते हैं। उदाहरण के लिए, यदि आप शहर-व्यापी मेट्रिक्स के विरुद्ध पड़ोस डेटा की तुलना करना चाहते हैं, तो आप अपने सीटीई को जॉइन ऑपरेशन की श्रृंखला में संदर्भित कर सकते हैं।
इससे न केवल समय की बचत होती है बल्कि आपका कोड भी कुशल रहता है, क्योंकि आपको एक ही क्वेरी को दो बार दोहराना नहीं पड़ेगा!
सीटीई इस सिद्धांत का प्रमाण है कि एक छोटी सी संरचना प्रोग्रामिंग में बहुत आगे तक जाती है। सीटीई को अपनाकर, आप स्पष्ट, अधिक रखरखाव योग्य और पुन: प्रयोज्य एसक्यूएल प्रश्न लिख सकते हैं।
यह क्वेरी विकास प्रक्रिया को सुव्यवस्थित करता है और जटिल डेटा पुनर्प्राप्ति तर्क को दूसरों तक संचारित करना आसान बनाता है।
याद रखें, अगली बार जब आप खुद को मल्टी-जॉइन, नेस्टेड सबक्वेरी मॉन्स्टर लिखना शुरू करने जा रहे हों, तो इसे सीटीई के साथ तोड़ने पर विचार करें।
आपका भविष्य स्वयं-और कोई भी व्यक्ति जो आपका कोड पढ़ेगा-आपको धन्यवाद देगा।
जोसेप फेरर बार्सिलोना से एक एनालिटिक्स इंजीनियर है। उन्होंने भौतिकी इंजीनियरिंग में स्नातक किया है और वर्तमान में मानव गतिशीलता पर लागू डेटा साइंस क्षेत्र में काम कर रहे हैं। वह डेटा विज्ञान और प्रौद्योगिकी पर केंद्रित अंशकालिक सामग्री निर्माता हैं। आप उससे संपर्क कर सकते हैं लिंक्डइन, ट्विटर or मध्यम.
- एसईओ संचालित सामग्री और पीआर वितरण। आज ही प्रवर्धित हो जाओ।
- प्लेटोडेटा.नेटवर्क वर्टिकल जेनरेटिव एआई। स्वयं को शक्तिवान बनाएं। यहां पहुंचें।
- प्लेटोआईस्ट्रीम। Web3 इंटेलिजेंस। ज्ञान प्रवर्धित। यहां पहुंचें।
- प्लेटोईएसजी. कार्बन, क्लीनटेक, ऊर्जा, पर्यावरण, सौर, कचरा प्रबंधन। यहां पहुंचें।
- प्लेटोहेल्थ। बायोटेक और क्लिनिकल परीक्षण इंटेलिजेंस। यहां पहुंचें।
- स्रोत: https://www.kdnuggets.com/sql-simplified-crafting-modular-and-understandable-queries-with-ctes?utm_source=rss&utm_medium=rss&utm_campaign=sql-simplified-crafting-modular-and-understandable-queries-with-ctes
- :हैस
- :है
- :नहीं
- :कहाँ
- $यूपी
- a
- About
- वास्तव में
- जोड़ना
- को समायोजित
- अपनाने
- के खिलाफ
- Airbnb
- की अनुमति देता है
- भी
- हमेशा
- an
- विश्लेषण
- विश्लेषिकी
- विश्लेषण करें
- और
- अन्य
- कोई
- किसी
- अपार्टमेंट
- लागू
- दृष्टिकोण
- सुलभ
- हैं
- कला
- लेख
- AS
- विधानसभा
- At
- से बचने
- बार्सिलोना
- BE
- बन
- बेहतर
- टूटना
- तोड़कर
- लेकिन
- by
- कर सकते हैं
- परिवर्तन
- साफ
- कोड
- गठबंधन
- कैसे
- सामान्य
- संवाद
- तुलना
- तुलना
- जटिल
- गणना करना
- विचार करना
- माना
- संपर्क करें
- सामग्री
- शिल्प
- बनाना
- निर्माता
- वर्तमान में
- तिथि
- डेटा विज्ञान
- डेटाबेस
- सौदा
- परिभाषित
- परिभाषित करता है
- परिभाषित करने
- डिज़ाइन
- विवरण
- विकास
- विभिन्न
- अन्य वायरल पोस्ट से
- नीचे
- आसान
- कुशल
- अन्य
- प्रारंभ
- उभरना
- समाप्त
- इंजीनियर
- अभियांत्रिकी
- पर्याप्त
- संपूर्ण
- स्थापित
- उदाहरण
- निष्पादित
- निष्पादन
- अभिव्यक्ति
- भाव
- खेत
- अंतिम
- खोज
- प्रवाह
- ध्यान केंद्रित
- निम्नलिखित
- इस प्रकार है
- के लिए
- से
- भविष्य
- इकट्ठा
- लक्ष्य
- चला जाता है
- अच्छा
- है
- he
- उसे
- मेजबान
- मेजबान
- कैसे
- How To
- http
- HTTPS
- मानव
- if
- में सुधार
- in
- बढ़ती
- व्यक्ति
- करें-
- उदाहरण
- बातचीत
- में
- सहज ज्ञान युक्त
- IT
- में शामिल होने
- जुड़ती
- जेपीजी
- केडनगेट्स
- जानना
- जानता है
- भाषाऐं
- नेतृत्व
- पसंद
- लिंक्डइन
- लिस्टिंग
- थोड़ा
- तर्क
- तार्किक
- लंबा
- लग रहा है
- जादू
- मुख्य
- बनाए रखना
- अनुरक्षणीय
- रखरखाव
- बनाता है
- बहुत
- मेट्रिक्स
- हो सकता है
- गतिशीलता
- मॉड्यूलर
- मॉड्यूल
- अधिक
- अधिकांश
- विभिन्न
- अत्यावश्यक
- आवश्यकता
- नया
- अगला
- of
- on
- एक बार
- ONE
- केवल
- संचालन
- or
- आदेश
- संगठन
- संगठित
- अन्य
- हमारी
- आउट
- उत्पादन
- कुल
- अपना
- भागों
- निष्पादन
- प्रदर्शन
- भौतिक विज्ञान
- टुकड़ा
- प्लेटो
- प्लेटो डेटा इंटेलिजेंस
- प्लेटोडाटा
- प्ले
- संभावित
- शक्तिशाली
- व्यावहारिक
- ठीक - ठीक
- वर्तमान
- कीमत निर्धारण
- सिद्धांत
- प्रक्रिया
- पेशेवर
- प्रोग्रामिंग
- को बढ़ावा देना
- पहेली
- प्रश्नों
- जल्दी से
- पढ़ना
- संदर्भ
- संदर्भित
- सम्बंधित
- दोहराना
- आवश्यकताएँ
- परिणाम
- बहाली
- पुन: प्रयोज्य
- पुनः प्रयोग
- सही
- वही
- विज्ञान
- विज्ञान और प्रौद्योगिकी
- क्षेत्र
- चयन
- कई
- सेट
- चाहिए
- सरल
- सरलीकृत
- को आसान बनाने में
- एक
- छोटा
- एसक्यूएल
- खड़ा
- प्रारंभ
- कथन
- आँकड़े
- फिर भी
- सुव्यवस्थित
- संरचना
- संरचित
- संक्षेप में प्रस्तुत करना
- तालिका
- लेना
- लेता है
- टेक्नोलॉजी
- अस्थायी
- वसीयतनामा
- धन्यवाद
- कि
- RSI
- दुनिया
- उन
- वे
- इसका
- उन
- पहर
- बार
- सेवा मेरे
- आज
- एक साथ
- साधन
- बदलने
- मोड़
- टाइप
- आम तौर पर
- परम
- समझना
- बोधगम्य
- समझ
- us
- उपयोग
- प्रयुक्त
- का उपयोग
- उपयोग
- करना चाहते हैं
- मार्ग..
- we
- क्या
- एचएमबी क्या है?
- कौन कौन से
- कौन
- क्यों
- मर्जी
- साथ में
- अंदर
- बिना
- सोच
- काम किया
- काम कर रहे
- विश्व
- होगा
- लिखना
- लिख रहे हैं
- इसलिए आप
- आपका
- स्वयं
- जेफिरनेट