SQL में LIKE Join करना
जब जॉइन का उपयोग करके दो तालिकाओं के बीच मानों का मिलान किया जाता है, तो ऐसे उदाहरण हो सकते हैं जहां एक तालिका से एक कॉलम किसी कॉलम के किसी भाग का किसी अन्य तालिका से मिलान करना आवश्यक है। इसे अक्सर जुड़ने की स्थिति में LIKE ऑपरेटर का उपयोग करके प्राप्त किया जाता है। तालिका बी में कॉलमबी। इसका मतलब है कि मिलान में कॉलमबी या उसके पहले या बाद के वर्णों में पूर्ण मान शामिल हो सकता है।
INSTR का उपयोग करना:एक विधि का उपयोग करना है जुड़ने की स्थिति में INSTR() फ़ंक्शन:
SELECT * तालिका ए से INSTR(B.columnB, A.columnA) > 0SELECT *
FROM TABLE A
JOIN TABLE B ON INSTR(B.columnB, A.columnA) > 0
पर तालिका B से जुड़ें:एक अन्य विकल्प वाइल्डकार्ड के साथ LIKE ऑपरेटर का उपयोग करना है:
चुनना * तालिका ए से तालिका B को B.columnB जैसे '%' A.columnA '%'SELECT *
FROM TABLE A
JOIN TABLE B ON INSTR(B.columnB, A.columnA) > 0
CONCAT के साथ LIKE का उपयोग करके जोड़ें:आप कॉलम के साथ वाइल्डकार्ड प्रतीकों को भी जोड़ सकते हैं CONCAT() फ़ंक्शन का उपयोग करके मान:
SELECT * तालिका ए से CONCAT('%', A.columnA ,'%') जैसे B.columnB पर तालिका B से जुड़ेंSELECT *
FROM TABLE A
JOIN TABLE B ON INSTR(B.columnB, A.columnA) > 0
अपरकेस रूपांतरण:केस-असंवेदनशील मिलान सुनिश्चित करने के लिए, तुलना करने से पहले कॉलम मानों को अपरकेस में बदलने की अनुशंसा की जाती है:
SELECT * (तालिका ए से ऊपरी (ए कॉलम ए) 'यूए' चुनें) ए शामिल हों (तालिका बी से ऊपरी (बी.कॉलमबी) 'यूबी' चुनें) बी पर INSTR(B.ub, A.ua) > 0SELECT *
FROM TABLE A
JOIN TABLE B ON INSTR(B.columnB, A.columnA) > 0
दक्षता संबंधी विचार:इन विधियों की दक्षता विशिष्ट डेटाबेस और तालिका संरचनाओं के आधार पर भिन्न हो सकती है। सबसे इष्टतम दृष्टिकोण निर्धारित करने के लिए EXPLAIN योजना आउटपुट की जांच करना उचित है। ANSI JOINs अधिक पारंपरिक सिंटैक्स का उपयोग करते हैं। इस मामले में, JOIN क्लॉज गैर-ANSI जॉइन में WHERE क्लॉज के बराबर है:
SELECT * तालिका ए से, टेबल बी WHERE INSTR(B.columnB, A.columnA) > 0ANSI JOIN का उपयोग करने से WHERE क्लॉज में फ़िल्टर स्थिति से जुड़ने की स्थिति को अलग करने का लाभ मिलता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3