/ / MySQL जॉइन: विवरण, कमांड और अनुशंसाओं का उपयोग करने का उदाहरण

MySQL जॉइन: विवरण, कमांड उपयोग और अनुशंसाओं का उदाहरण

इंटरनेट संसाधनों के डेटाबेस का विकासव्यावहारिक रूप से MS SQL सर्वर सिस्टम में विकसित मानक डेटाबेस से भिन्न नहीं है। एक नियम के रूप में, MY SQL भाषा का उपयोग ऐसे संसाधनों के लिए किया जाता है, हालांकि इसे स्थानीय उपयोग के लिए मानक सॉफ़्टवेयर उत्पादों के विकास के लिए भी लागू किया जा सकता है। लेकिन यह लेख उसके बारे में नहीं है।

mysql शामिल हों

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

Join . शब्द की अवधारणा

डेटाबेस विकास भाषाएँ, कोई फर्क नहीं पड़तायह भाषा है, अंग्रेजी भाषा के शब्दकोशों के मानक शब्दों को आधार के रूप में लिया जाता है (इसीलिए, बशर्ते कि आप अंग्रेजी जानते हों, आपके लिए तालिकाओं के साथ काम करना बहुत आसान होगा)। चयन में तालिकाओं के कनेक्शन को लागू करने के लिए, एक ही शब्द लिया जाता है - शामिल हों। डेटाबेस प्रोग्रामिंग भाषा में My SQL का उपयोग किया जाता है। इस सेवा शब्द का अनुवाद बिल्कुल वैसा ही है जैसा भाषा में है - "संघ"।

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

संयोजन के लिए संरचनाओं के प्रकार

mysql शामिल हों

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

  1. आंतरिक रूप से जुड़ा।
  2. क्रॉस जॉइन करें।
  3. बाँया जोड़।
  4. राइट जॉइन।

काम के आधार पर, प्रत्येक मानक डिजाइन अलग-अलग परिणाम देगा, जो आपको थोड़े समय में विभिन्न मापदंडों पर रिपोर्ट प्राप्त करने की अनुमति देगा।

आगे उपयोग के लिए टेबल बनाना और भरना

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

पहली तालिका उन कुछ वस्तुओं का वर्णन करेगी जिनका एक व्यक्ति अपने पूरे जीवन में लगातार सामना करता है।

mysql शामिल हों

दूसरी तालिका में, हम पहली तालिका से वस्तुओं के कुछ गुणों का वर्णन करेंगे ताकि आप भविष्य में उनके साथ काम कर सकें।

छोड़ दिया mysql में शामिल हों

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

इनर जॉइन का उपयोग करना

MySQL निर्माण का उपयोग करते समय - Ineer में शामिल होंइसकी कुछ विशेषताओं पर विचार करना उचित है। यह डिज़ाइन आपको दोनों तालिकाओं में से केवल उन अभिलेखों का चयन करने की अनुमति देगा जो पहली और दूसरी तालिका में हैं। यह काम किस प्रकार करता है? पहली तालिका में, हमारे पास एक मास्टर कुंजी - आईडी है, जो तालिका में रिकॉर्ड की क्रमिक संख्या को इंगित करती है।

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

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

किसी भी पैरामीटर को निर्दिष्ट किए बिना तालिकाओं का संयोजन। इस मामले में, हमें ऐसी योजना का परिणाम मिलेगा:

mysql इनर जॉइन

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

mysql उदाहरण में शामिल हों

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

mysql में शामिल हों चयन करें

लेफ्ट जॉइन का उपयोग करने की विशेषताएं

यदि आप MySQL - जॉइन कंस्ट्रक्शन का उपयोग करके तालिकाओं में शामिल होने का एक और तरीका मानते हैं, तो आप प्रदर्शित होने वाले डेटा में अंतर देख सकते हैं। यह तंत्र वाम निर्माण है।

लेफ्ट जॉइन मायएसक्यूएल में कुछ ख़ासियतें हैं और इनर की तरह, प्राप्त किए जाने वाले परिणाम की स्पष्ट समझ की आवश्यकता होती है।

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

इस डिज़ाइन का उपयोग आपको यह निर्धारित करने की अनुमति देगा कि कौन से क्षेत्र या, उदाहरण के लिए, स्टोर में सामान की कीमत नहीं है, वारंटी अवधि, और इसी तरह।

लेफ्ट . का उपयोग करने का उदाहरण

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

mysql अद्यतन शामिल हों

जॉइन क्लॉज में कहां का उपयोग करना

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

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

जॉइन का उपयोग करते समय - जहां MySQL में, आपको स्पष्ट रूप से यह समझने की आवश्यकता है कि केवल वे रिकॉर्ड दिखाए जाएंगे जिन पर निर्दिष्ट शर्त लागू होती है, और फिर चयन इस तरह दिखेगा:

mysql कहाँ शामिल हों

इस तरह के प्रश्न आपको इसके द्वारा चयन करने की अनुमति देते हैंविशिष्ट डेटा जो प्रोग्रामर द्वारा चुनी गई स्थिति से संबंधित है। संयुक्त तालिकाओं से डेटा का चयन करने के लिए मापदंडों को अधिकतम करते हुए आप ऐसी कई शर्तें निर्दिष्ट कर सकते हैं।

तालिकाओं में डेटा को संशोधित करने के लिए शामिल हों का उपयोग करना

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

उदाहरण के लिए, निम्नलिखित समस्या पर विचार करें।तीन टेबल हैं जिनमें कुछ डेटा होता है। आपको एक क्वेरी का उपयोग करके दोनों तालिकाओं में डेटा बदलने की आवश्यकता है। बस इस तरह के कार्यों को हल करने के लिए, आप अपडेट कमांड में जॉइन कंस्ट्रक्शन का उपयोग कर सकते हैं। जॉइन कंस्ट्रक्शन का प्रकार ही निर्भर करता है, जैसे डेटा सैंपलिंग के मामले में, उस परिणाम पर जो प्रोग्रामर प्राप्त करना चाहता है।

आइए सबसे सरल उदाहरण देखें।एक अनुरोध के साथ समान शर्तों के लिए डेटा को अपडेट करना आवश्यक है। डेटाबेस के साथ काम को ऑप्टिमाइज़ करने के लिए इस तरह की क्वेरीज़ बनाई जाती हैं। जब आप एक क्वेरी के साथ सभी डेटा हेरफेर कर सकते हैं तो प्रत्येक तालिका के लिए अलग-अलग प्रश्न क्यों लिखें? हमारे मामले में MySQL अपडेट जॉइन का एक उदाहरण इस प्रकार होगा:

mysql बाएं उदाहरण में शामिल हों

जटिल प्रश्नों का निर्माण

अक्सर डेटाबेस के साथ काम करते समयन केवल कई तालिकाओं में शामिल होने के साथ, बल्कि उपश्रेणियों का उपयोग करके भी प्रश्नों का निर्माण करना आवश्यक है। नौसिखिए डेटाबेस प्रोग्रामर के लिए ऐसे कार्यों को समझना काफी कठिन होता है। कठिनाई इस तथ्य में निहित है कि आपको प्रत्येक चरण के माध्यम से सोचना है, यह निर्धारित करना है कि आपको किस तालिका या प्रश्न से कौन सा डेटा प्राप्त करना है और भविष्य में आपको उनके साथ कैसे काम करना होगा।

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

छोड़ दिया mysql में शामिल हों

यह अनुरोध हमें 58 अनुबंध रिकॉर्ड लौटाएगाबिक्री जिसके लिए नकद शेष भरा गया है या चयनित तिथि के अनुसार मौजूद है। इस मामले में, यह वर्तमान तिथि है। साथ ही, चयन में एक शर्त जोड़ी गई है कि अनुबंध के नाम में प्रतीक - "123" होना चाहिए। स्क्रीन पर प्रदर्शित जानकारी (डेटा) को अनुबंध संख्या द्वारा क्रमबद्ध - क्रमबद्ध किया जाएगा।

निम्नलिखित उदाहरण सभी भुगतानों पर डेटा प्रदर्शित करेगा, जिसमें अनुबंध संख्या का संकेत दिया जाएगा।

mysql शामिल हों

उपप्रश्नों का उपयोग करना

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

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

mysql शामिल हों

ये मानक का उपयोग करने के सभी तरीके नहीं हैंMySQL निर्माण करता है, लेकिन केवल मानक वाले। जॉइन कंस्ट्रक्शन का उपयोग कैसे करें और यह किस रूप में स्वयं प्रोग्रामर पर निर्भर है, लेकिन यह याद रखने योग्य है और किसी क्वेरी को निष्पादित करते समय क्या परिणाम प्राप्त करना चाहिए, इसे ध्यान में रखना चाहिए।

इसे पसंद किया:
0
लोकप्रिय पोस्ट
आध्यात्मिक विकास
भोजन
y