एसक्यूएल इननर जॉइन स्टेटमेंट: उदाहरण, सिंटैक्स और फीचर्स

किसी भी डेटाबेस का विकास मतलब नहीं हैकेवल विभिन्न सूचनाओं के साथ तालिकाओं का सृजन और भरना, लेकिन डेटा के साथ आगे भी काम करते हैं। तालिकाओं से डेटा का चयन करने और रिपोर्ट तैयार करने के लिए विभिन्न कार्यों के सही निष्पादन के लिए, मानक चुनें निर्माण का उपयोग किया जाता है।

एसक्यूएल आंतरिक शामिल उदाहरण

डेटा तालिकाओं से प्राप्त होता है

यदि हम डेटा चुनने की समस्या पर विचार करते हैं याएक निश्चित रिपोर्ट का निर्माण, आप इस ऑपरेशन की जटिलता के स्तर को निर्धारित कर सकते हैं। एक नियम के रूप में, जब गंभीर (सूचना के मात्रा) डेटाबेस, उदाहरण के लिए, ऑनलाइन स्टोर्स या बड़ी कंपनियों में बनते हैं, तो डेटा का नमूना केवल एक तालिका तक सीमित नहीं होगा। आम तौर पर, नमूने न केवल इंटरकनेक्टेड टेबल की एक बड़ी संख्या से हो सकते हैं, बल्कि नेस्टेड क्वेरीज़ / उपकुंजी जो कि प्रोग्रामर स्वयं ही करता है, जो उस पर नियत कार्य के आधार पर होता है। एक तालिका से नमूना लेने के लिए, आप सरल डिजाइन का उपयोग कर सकते हैं:

* व्यक्ति से चुनें

जहां व्यक्ति तालिका का नाम है, जहां से डेटा का चयन किया जा सकता है।

यदि कई तालिकाओं से डेटा का चयन करने की आवश्यकता है, तो आप कई तालिकाओं को संयोजित करने के लिए एक मानक डिज़ाइन का उपयोग कर सकते हैं।

अतिरिक्त तालिकाओं को जोड़ने के तरीके

यदि हम प्रारंभिक स्तर पर ऐसी संरचनाओं का उपयोग करने पर विचार करते हैं, तो हम नमूने के लिए आवश्यक तालिकाओं को जोड़ने के लिए निम्नलिखित तंत्रों को भेद कर सकते हैं, अर्थात्:

  1. ऑपरेटर इनर सम्मिलित हों
  2. वाम में शामिल हों या, यह रिकॉर्डिंग का दूसरा तरीका है, वाम बाहरी सहभागी।
  3. क्रॉस में शामिल हों
  4. पूर्ण सम्मिलित हों

व्यवहार में ऑपरेटर तालिकाओं में शामिल होने का उपयोग ऑपरेटर एसक्यूएल - इनर जॉइन में इस्तेमाल पर विचार करके किया जा सकता है। इसका उपयोग का एक उदाहरण ऐसा दिखेगा:

* व्यक्ति से चुनें

Su_Person = Pe_ID पर उप-विभाजित होने के साथ-साथ

एसक्यूएल भाषा और सम्मिलित इनर इनर ऑपरेटर हो सकते हैंन केवल दो या अधिक तालिकाओं को मर्ज करने के लिए, बल्कि अन्य उपकुंजीओं को भी जोड़ने के लिए उपयोग करें, जो डेटाबेस प्रशासक के काम की बहुत सुविधा देता है और, एक नियम के रूप में, निश्चित संरचनात्मक जटिल प्रश्नों के निष्पादन को काफी तेज कर सकता है।

पंक्ति के आधार पर तालिका पंक्ति में डेटा का मेल करना

ऑपरेटर एसक्यूएल आंतरिक शामिल उदाहरण

यदि आप बड़ी संख्या में उपकुंजी जोड़ने और आंकड़ों को पंक्ति से एक तालिका पंक्ति में जोड़ते हैं, तो आप संघ और संघ सभी ऑपरेटरों का उपयोग भी कर सकते हैं।

इन डिज़ाइनों का उपयोग डेवलपर को दिया गया कार्य और उस परिणाम पर निर्भर करेगा जो वह अंत में हासिल करना चाहता है।

ऑपरेटर इनर जॉइन में शामिल हों

ज्यादातर मामलों में, कई मर्ज करने के लिएएसक्यूएल में टेबल ऑपरेटर इनर जॉइन में इस्तेमाल करते हैं। इनर एसोसिएशन का विवरण समझने के लिए एक औसत प्रोग्रामर के लिए काफी आसान है, जो सिर्फ डाटाबेस को समझने की शुरुआत है। अगर हम इस निर्माण के संचालन के तंत्र के विवरण पर विचार करते हैं, तो हमें निम्नलिखित तस्वीर मिलती है। पूरे ऑपरेटर का तर्क क्वेरी में प्रवेश करने वाली प्रत्येक तालिका में मौजूद उन डेटा को अन्तर्विभाजित करने और नमूना करने की संभावना पर आधारित है।

यदि हम इस काम को ग्राफिकल व्याख्या के दृष्टिकोण से देखते हैं, तो हम एसक्यूएल इनर जॉइन की संरचना प्राप्त करते हैं, जिसका एक उदाहरण निम्न योजना की मदद से दिखाया जा सकता है:

एसक्यूएल आंतरिक शामिल वाक्यविन्यास उदाहरण

उदाहरण के लिए, हमारे पास दो तालिकाओं हैं, जिनमें से योजनाआंकड़े में दिखाया गया है वे, बदले में, रिकॉर्ड की एक अलग संख्या है। प्रत्येक तालिकाओं में एक साथ जुड़े हुए फ़ील्ड हैं। यदि आप इस आंकड़े के आधार पर ऑपरेटर के काम की व्याख्या करने का प्रयास करते हैं, तो रिटर्न परिणाम दो तालिकाओं से रिकॉर्डों के एक सेट के रूप में होगा, जहां संबंधित क्षेत्रों की संख्या का संबंध है। सीधे शब्दों में कहें, क्वेरी केवल उन अभिलेख (तालिका संख्या दो से) लौटाएगा, जिसके बारे में डेटा टेबल नंबर एक में है

इनर जॉइन ऑपरेटर का सिंटेक्स

जैसा कि पहले उल्लेख किया गया है, ऑपरेटर इनर जॉइन, औरयह उनकी सिंटेक्स है जो असामान्य रूप से सरल है एक नमूने के भीतर तालिकाओं के बीच संबंधों को व्यवस्थित करने के लिए, एक ऑपरेटर के निर्माण के लिए निम्नलिखित प्रमुख योजना को याद रखने और उपयोग करने के लिए पर्याप्त होगा, जो प्रोग्राम SQL- कोड की एक पंक्ति में लिखा है, अर्थात्:

  • आंतरिक [तालिका का नाम] [तालिका से जो कि हम कनेक्ट होते हैं, से [कुंजी फ़ील्ड]] [[कनेक्ट की गई तालिका का प्रमुख क्षेत्र] में शामिल हों।

इस ऑपरेटर में संचार के लिए, मुख्यटेबल कुंजियाँ एक नियम के रूप में, तालिकाओं के समूह में, जो कर्मचारी के बारे में जानकारी संग्रहीत करता है, पहले वर्णित व्यक्ति और सब डिविजन में कम से कम एक समान रिकॉर्ड होता है। तो, आइए एसक्यूएल इनर जॉइन स्टेटमेंट पर करीब से नज़र डालें, जिसमें से एक उदाहरण थोड़ा पहले दिखाया गया था।

उदाहरण और एक तालिका चयन के लिए कनेक्शन का विवरण

हमारे पास एक व्यक्ति की मेज है जहां हम स्टोर करते हैंकंपनी में काम कर रहे सभी कर्मचारियों के बारे में जानकारी ध्यान दें कि इस तालिका की मुख्य कुंजी फ़ील्ड है - पे_आईडी बस उस पर और एक गुच्छा होगा।

दूसरा सबडिविजन टेबल स्टोर करेगाजिन इकाइयों में कर्मचारी काम करते हैं, उनकी जानकारी यह, बदले में, व्यक्ति तालिका के साथ Su_Person फ़ील्ड की सहायता से जुड़ा हुआ है। यह क्या कहता है? डेटा स्कीमा के आधार पर, आप कह सकते हैं कि कर्मचारी तालिका में प्रत्येक प्रविष्टि के लिए डिपार्टमेंट तालिका में उस विभाग के बारे में जानकारी होगी जिसमें वे काम करते हैं। यह इस कनेक्शन के लिए है कि ऑपरेटर इनर जॉइन काम करेगा।

अधिक समझदार प्रयोग के लिए, एसक्यूएल इनर जॉइन ब्योरा (एक और दो तालिकाओं के उपयोग के उदाहरण) पर विचार करें। यदि हम एक मेज के लिए एक उदाहरण पर विचार करते हैं, तो सब कुछ बहुत सरल है:

* व्यक्ति से चुनें

Su_Person = Pe_ID पर उप-विभाजित होने के साथ-साथ

दो तालिकाओं और एक subquery कनेक्ट करने का एक उदाहरण

एसक्यूएल और इंटर्न में शामिल होने के ऑपरेटर

एसक्यूएल इनर ऑपरेटर में शामिल हों, उपयोग के उदाहरणजो कई तालिकाओं से डेटा के चयन के लिए ऊपर के रूप में आयोजित किया जा सकता है, थोड़ा और अधिक जटिल सिद्धांत पर काम करता है। दो तालिकाओं के लिए, हम समस्या को मुश्किल करते हैं। उदाहरण के लिए, हमारे पास प्रस्थान तालिका है, जो प्रत्येक विभाग में सभी विभागों के बारे में जानकारी संग्रहीत करता है। इस तालिका में, विभाग संख्या और कर्मचारी संख्या दर्ज की जाती है, और डेटा का नमूना प्रत्येक विभाग के नाम से पूरक होना चाहिए। आगे देख, यह कहना सही है कि इस समस्या को हल करने के लिए दो तरीकों का इस्तेमाल किया जा सकता है।

पहला तरीका है कि डिपार्टमेंट टेबल को नमूना से जोड़ना। इस मामले में, आप इस तरह से अनुरोध को व्यवस्थित कर सकते हैं:

Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, व्यक्ति से Dep_Name चुनें

Su_Person = Pe_ID पर उप-विभाजित होने के साथ-साथ

Su_Depart = Dep_ID और Pe_Depart = Dep_ID पर इनर में शामिल हो जाएं

समस्या हल करने का दूसरा तरीका उपयोग करना हैsubquery, जिसमें सभी डेटा नहीं बल्कि केवल आवश्यक डेटा का चयन विभाग की तालिका से किया जाएगा। यह, पहले विधि के विपरीत, क्वेरी समय को कम करेगा।

Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, व्यक्ति से Dep_Name चुनें

Su_Person = Pe_ID पर उप-विभाजित होने के साथ-साथ

इनके साथ जुड़ें (Dep_ID का चयन करें, Dep_Name, प्रस्थान से Pe_Depart) के रूप में टी पर Su_Depart = Dep_ID और Pe_Depart = Dep_ID

यह ध्यान दिया जाना चाहिए कि यह डिज़ाइन हमेशा नहीं होता हैक्वेरी को गति दे सकता है कभी-कभी मामलों में जब अस्थायी तालिका में डेटा के अतिरिक्त नमूनाकरण का उपयोग करना आवश्यक होता है (यदि उनकी मात्रा बहुत बड़ी है), और फिर यह मुख्य नमूना के साथ मिलाया जाता है

तालिकाओं की एक बड़ी संख्या से चयन के लिए इनर इनर ऑपरेटर का उपयोग करने का एक उदाहरण

जटिल प्रश्नों का निर्माण होता हैडेटा का चयन करने के लिए एक महत्वपूर्ण तालिकाओं और एक दूसरे से संबंधित subqueries संख्या। इन आवश्यकताएं SQL इनर सिंटैक्स से जुड़ सकती हैं। इस मामले में ऑपरेटर के उपयोग के उदाहरणों में न केवल डेटा संग्रहण के कई स्थानों के नमूनों से जटिल हो सकता है, बल्कि नेस्टेड सबक्वैरिज़ की बड़ी संख्या से भी जटिल हो सकता है। किसी विशिष्ट उदाहरण के लिए, आप सिस्टम तालिकाओं से डाटा का एक नमूना ले सकते हैं (इनर एसक्यूएल ऑपरेटर में शामिल हों) एक उदाहरण - 3 तालिकाओं - इस मामले में एक जगह जटिल संरचना होगी।

आंतरिक एसक्यूएल में शामिल उदाहरण 3 तालिकाओं

इस मामले में, तीन अतिरिक्त (मुख्य तालिका में) जोड़े जाते हैं और कई डेटा चयन शर्तों दर्ज की जाती हैं।

ऑपरेटर इनर जॉइन में का उपयोग करते समययाद रखें कि अधिक जटिल क्वेरी, अब यह कार्यान्वित किया जाएगा, इसलिए यह कार्य को और अधिक तेज़ी से निष्पादित करने और हल करने के तरीकों की तलाश में लायक है।

आंतरिक एसक्यूएल में शामिल उदाहरण 3 तालिकाओं

निष्कर्ष

अंत में मैं एक बात कहना चाहूंगा: डेटाबेस के साथ कार्य करना प्रोग्रामिंग में सबसे कठिन बात नहीं है, इसलिए यदि आप चाहें तो हर कोई डेटाबेस के निर्माण का ज्ञान हासिल कर सकता है, और अंत में, अनुभव प्राप्त कर रहे हैं, आप एक पेशेवर स्तर पर उनके साथ काम करने में सक्षम होंगे।

</ p>
इसे पसंद किया:
0
संबंधित लेख
सिंटेक्स: यह खंड कैसा दिखता है?
अनंत (जावा) लूप के लिए
SQL क्वेरीज़ कैसे तैयार करें - विस्तृत
कोलाज़ एसक्यूएल: विवरण, फीचर्स
MySQL JOIN: वर्णन, उपयोग उदाहरण
रूपांतरण टाइप करें गोल और ट्रंक फ़ंक्शन
एसक्यूएल होने: विवरण, वाक्यविन्यास, उदाहरण
पेट्रोल स्टेशन ऑपरेटर: कैरियर के अवसर
कंप्यूटर ऑपरेटर
लोकप्रिय डाक
ऊपर