कम्प्युटरहरूसफ्टवेयर

MySQL JOIN: एक विवरण, आदेश र सिफारिसहरू प्रयोग गर्ने उदाहरण

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

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

शब्दको अवधारणा जोडिएको छ

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

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

संघको लागि निर्माणको प्रकारहरू

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

  1. भित्री भाग
  2. क्रस जोड्नुहोस्।
  3. बायाँ सामेल हुनुहोस्।
  4. दायाँ जोड्नुहोस्।

कार्यमा निर्भर गर्दछ, प्रत्येक मानक डिजाइनले विभिन्न नतिजाहरू दिनेछ, जुन तपाईंलाई छोटो समयमा विभिन्न मापदण्डहरूमा रिपोर्टहरू प्राप्त गर्न अनुमति दिन्छ।

पछि प्रयोगको लागि तालिकाहरू सिर्जना गर्दै र प्रचलित पार्दै

तपाईंले सुरु गर्नु अघि, उदाहरणका लागि, डेटा फेडरेशनसँग काम गर्ने तवरमा विचार गर्नुहोस्, यो धेरै टेबल तयार गर्न सार्थक छ, जसको साथ हामी काम गर्न जारी रहनेछौं। यसले भिजुअल रूपमा अपरेटरहरूको सबै सिद्धान्तहरू देखाउन मद्दत गर्नेछ, यसका साथै, शुरुवात प्रोग्रामिङ तालिकाहरूको सबै आधारभूत कुराहरू सिक्न सजिलो हुन्छ।

पहिलो तालिकाले केही चीजहरूको वर्णन गर्नेछ जुन एक व्यक्ति लगातार आफ्नो जीवनभरि भेट्छ।

दोस्रो तालिकामा हामी पहिलो तालिकाबाट वस्तुहरूको केही विशेषताहरू वर्णन गर्छौं, ताकि तपाईं भविष्यमा तिनीहरूसँग काम गर्न सक्नुहुनेछ।

सामान्यतया, दुई तालिकाहरू उदाहरणका रूपमा आफ्नो काम देखाउन पर्याप्त हुनेछ। अब तपाईं हाम्रो डिजाइनहरू विचार गर्न सुरु गर्न सक्नुहुन्छ।

भित्री भाग प्रयोग गर्दै

जब MySQL-Ineer निर्माण को उपयोग गरेर, यो यसको केहि विशेषताहरु लाई ध्यान दिन को लायक छ। यो डिजाइनले तपाईंलाई दुवै तालिकाहरू मात्र चयन गर्ने अनुमति दिन्छ जुन पहिलो र दोस्रो तालिकामा दुवै हो। यसले कसरी काम गर्दछ? पहिलो तालिकामा, हामीसँग मास्टर कुञ्जी - आईडी छ, जुन तालिकामा क्रमिक क्रम सङ्ख्या सङ्केत गर्दछ।

दोस्रो तालिका सिर्जना गर्दा, समान कुञ्जी धारावाहिक नम्बरको रूपमा प्रयोग गरिन्छ, उदाहरण उदाहरणमा देख्न सकिन्छ। जब तपाइँ डेटा चयन गर्नुहुन्छ, चयनकर्ताले केवल रेकर्डहरूको निर्धारण गर्नेछ जसको अनुक्रम नम्बरहरू समान छन्, जसको अर्थ तिनीहरू पहिलो र दोस्रो तालिकामा छन्।

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

कुनै पनि प्यारामिटरहरू निर्दिष्ट नगरी तालिकाहरू संयोजन गर्नुहोस्। यस अवस्थामा, हामी यस्तो योजनाको परिणाम पाउनेछौं:

यदि हामी उपयोगिता शब्द "प्रयोग" प्रयोग गरेर संकेत गर्दछौं, कि यो खातामा रेकर्डको मुख्य कुञ्जीहरू लिन आवश्यक छ, चयनको परिणाम मौलिक रूपमा परिवर्तन गरिनेछ। यस अवस्थामा, हामी नमूना प्राप्त गर्दछौं जुन केवल ती पङ्क्तिहरू फर्काउँछ जुन त्यहि मुख्य कुञ्जी छन्।

संरचनाको प्रयोगको तेस्रो संस्करण प्रयोग गर्न सम्भव छ, जब क्वेरीमा जो फील्डहरू तालिकामा सामेल हुन पर्दछ "शब्द" मार्फत संकेत गरिनुपर्छ। यस अवस्थामा, नमूना निम्न डेटा फर्काउँछ:

बाँया सम्मिलितको प्रयोगको विशेषताहरू

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

बायाँ जोड्नुको निर्माण गर्दा MySQL केही विशेषताहरू छन् र, जस्तै आंतरिक, परिणाम प्राप्त गर्न आवश्यक स्पष्ट बुझ्न आवश्यक छ।

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

यस डिजाइनको प्रयोग गरेर तपाईंलाई कुन फिल्डहरू वा, निर्धारण गर्न अनुमति दिन्छ, उदाहरणका लागि, स्टोरमा सामान मूल्य, वारंटी अवधि र यतिमा अवस्थित छैन।

बायाँ उदाहरण

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

कतारमा निर्माण गर्ने कहाँ प्रयोग गर्दै

प्यारामिटरको रूपमा, एक सामेलले मात्र तालिकाहरू जोड्न चाहने क्षेत्रहरू समावेश गर्न सक्दछ, तर क्यान्सर अपरेटर पनि समावेश गर्न सक्दछ।

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

जब MySQL मा प्रयोग भएको छ - जहाँ, तपाइँलाई स्पष्ट रूपमा बुझ्न आवश्यक छ कि केवल ती रेकर्डहरू निर्दिष्ट गरिएको शर्त लागू हुनेछ र चयन त्यसपछि यो देख्नेछ:

यस्ता अनुरोधहरूले तपाईंलाई विशेष डाटामा चयन गर्ने अनुमति दिन्छ जसले प्रोग्रामर द्वारा छनौट गरिएको शर्तसँग सम्बन्धित छ। त्यहाँ धेरै यस्तो परिस्थितिहरू छन्, तर एकै समयमा संयुक्त टेबलबाट डाटा चयनको परिमिति परिमितिहरू।

तालिकामा डेटा परिवर्तन गर्न सामेल प्रयोग गर्दै

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

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

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

जटिल प्रश्नहरू निर्माण गर्दै

प्रायः कहिलेकाहीं डाटाबेसको साथ काम गर्दा यो प्रश्नहरू मात्र होइन कि धेरै तालिकाहरूको विलयको साथ मात्र निर्माण गर्न आवश्यक छ, तर सबकहरू प्रयोगको साथ पनि। यस्तो कार्यहरू शुरुवात डेटाबेस प्रोग्रामरको लागि बुझ्न सजिलो हुन्छ। कठिनाई भनेको छ कि तपाइँ प्रत्येक चरण मार्फत सोच्नु हुन्छ, कुन डेटालाई तपाईले भविष्यमा उनीहरूको साथ काम गर्न आवश्यक पर्दछ भनेर कुन तालिका वा क्वेरीको निर्धारण गर्नुहोस्।

थप विशिष्ट समझको लागि, तपाईं जटिल प्रश्नहरूको (विचार गर्नुहोस् MySQL मा सम्मिलित) उदाहरणहरू। यदि तपाइँ एक शुरुवात हुनुहुन्छ र केवल डेटाबेसको साथ काम गर्न सुरु गर्दै हुनुहुन्छ भने त्यस्ता प्रशिक्षण मात्र फाइदा हुनेछ। आदर्श विकल्प MySQL बायाँ उदाहरणहरू सामेल हुनेछन्।

यो अनुरोध हामीलाई बिक्री सम्झौताहरूको 58 रेकर्ड फर्काउँछ जसको लागि चयन गरिएको मिति को लागि रकमको ब्यालेन्स भरिएको छ वा अवस्थित छ। यस अवस्थामा, यो हालको मिति हो। नमूनामा पनि शर्त थपिएको छ कि सम्झौताको नाममा "123" चिन्हहरू हुनु पर्दछ। स्क्रिनमा प्रदर्शित जानकारी (डेटा) क्रमबद्ध हुनेछन् - अनुबंध नम्बर द्वारा आदेश।

निम्न उदाहरणले सबै भुक्तानीहरूको विवरणहरू प्रदर्शित गर्नेछ जुन ठेका नम्बर निर्दिष्ट गरिएको छ।

सबकहरू प्रयोग गर्दै

जस्तै उल्लेख गरिएको छ, डेटाबेस संग काम गर्दा, तपाईं केवल तालिकाहरू मात्र होइन, तर क्वेरीसँग तालिका पनि संयोजन गर्न सक्नुहुन्छ। यस डिजाइन को मुख्य रूप देखि क्वेरी को गति र अनुकूलित गर्न को लागी प्रयोग गरिन्छ।

उदाहरणका लागि, यदि तपाईले धेरै सय क्षेत्रहरूसँग तालिकामा दुईवटा क्षेत्रहरू चयन गर्न आवश्यक छ भने, एक हजार रेकर्ड भन्नुहोस्, त्यसपछि तपाइँले एउटा क्वेरी प्रयोग गर्नुपर्नेछ जुन केवल आवश्यक फिल्डहरू फर्काउँछ, र यो मुख्य डेटा नमूनासँग मिलाउन। MySQL चयन गरिएको छनोटको रूपमा, तपाइँ यस प्रकारको प्रश्नलाई विचार गर्न सक्नुहुन्छ:

यो मानक MySQL निर्माणको सबै तरिकाहरू छैनन्, तर केवल मानकहरू। जुड्ने निर्माण कसरी प्रयोग गर्ने र यसको फारामहरू मध्ये कुन प्रोग्रामरले निर्णय गर्दछ, तर यो सम्झनाको लायक छ र खातामा लिईएको परिणामलाई कुन परिणाम प्राप्त गर्न सकिन्छ।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ne.birmiss.com. Theme powered by WordPress.