SQL CONTAINS को समझना
SQL CONTAINS का उपयोग फुल-टेक्स्ट सर्च के लिए किया जाता है, जिससे आप टेक्स्ट डेटा में विशिष्ट शब्द, वाक्यांश, या पैटर्न के लिए डेटाबेस क्वेरी कर सकते हैं। यह विशेष रूप से बड़े टेक्स्ट फ़ील्ड्स में जानकारी खोजने के लिए उपयोगी है जहाँ डेटा का सटीक स्थान पहले से ज्ञात नहीं होता।
सिंटैक्स और पैरामीटर
SQL CONTAINS का मूल सिंटैक्स इस प्रकार है:
CONTAINS (column_name, 'search_pattern')
मुख्य घटक शामिल हैं:
- कॉलम नाम: वह फ़ील्ड जहाँ खोज की जाएगी। यह एक फुल-टेक्स्ट इंडेक्स्ड कॉलम होना चाहिए।
- सर्च पैटर्न: वह टेक्स्ट जिसे आप कॉलम के भीतर खोजना चाहते हैं, जिसे सिंगल कोट्स में रखा जाता है।
ऑपरेटर और वाइल्डकार्ड
अपनी खोज को परिष्कृत करने के लिए, SQL CONTAINS विभिन्न ऑपरेटरों का समर्थन करता है:
AND&OR: कई खोज शब्दों को संयोजित करने के लिए उपयोग करें।NEAR: ऐसे शब्द ढूँढता है जो एक-दूसरे के एक निश्चित निकटता में हों।- ASTERISK (
*): वाइल्डकार्ड की तरह काम करता है, जब सटीक शब्द किसी बड़े स्ट्रिंग का हिस्सा हो सकता है।
SQL CONTAINS को लागू करना
आइए व्यावहारिक उदाहरणों के साथ SQL CONTAINS को लागू करना समझते हैं:
बेसिक उपयोग
यदि आपको "apple" और "orange" शब्दों को "fruit" नामक कॉलम में खोजना है, तो आप यह लिख सकते हैं:
CONTAINS (fruit, '"apple" AND "orange"')
यह क्वेरी वे पंक्तियाँ लौटाती है जहाँ "fruit" कॉलम में दोनों शब्द उपस्थित हों।
एडवांस्ड सर्च
और अधिक जटिल खोजों के लिए, अन्य SQL फ़ंक्शनों के साथ CONTAINS को मिलाकर ऐसी जटिल क्वेरियाँ बनाई जा सकती हैं, जैसे एक-दूसरे के पास-पास दिखने वाले वाक्यांशों को खोजना या किसी शब्द के विभिन्न रूपों को ढूँढने के लिए वाइल्डकार्ड का उपयोग करना।
एडवांस्ड सर्च में CONTAINS को लॉजिकल ऑपरेटरों के साथ जोड़ना, प्रॉक्सिमिटी सर्च का उपयोग करना, और वाइल्डकार्ड कैरेक्टर का लाभ उठाना शामिल हो सकता है, ताकि टेक्स्ट फ़ील्ड्स में पैटर्न या विशिष्ट डेटा बिंदु खोजे जा सकें।
लॉजिकल ऑपरेटरों के साथ CONTAINS को मिलाना
SQL CONTAINS कई मानदंडों के आधार पर खोज को परिष्कृत करने के लिए AND, OR, और NOT जैसे लॉजिकल ऑपरेटरों का उपयोग समर्थित करता है। उदाहरण के लिए, किसी टेक्स्ट कॉलम में "technology" और "innovation" दोनों वाले प्रविष्टियाँ खोजने के लिए आप इस प्रकार क्वेरी बना सकते हैं:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" AND "innovation"'
);
इसके विपरीत, किसी भी एक शब्द वाली प्रविष्टियाँ ढूँढने के लिए आप OR का उपयोग करेंगे:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" OR "innovation"'
);
प्रॉक्सिमिटी सर्च
NEAR ऑपरेटर विशेष रूप से उन शब्दों या वाक्यांशों को खोजने में उपयोगी है जो टेक्स्ट में एक-दूसरे के पास दिखाई देते हैं। जब शब्दों के बीच संबंध उनके अर्थ को प्रभावित करता है, तब यह क्षमता अमूल्य होती है। उदाहरण के लिए, "climate" को "change" के 10 शब्दों के भीतर खोजने के लिए:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, 'NEAR((climate, change), 10)'
);
यह क्वेरी उन रिकॉर्ड्स को प्राथमिकता देती है जहाँ "climate" और "change" का गहरा संबंध है, जिससे विशिष्ट शोध प्रश्नों के लिए अधिक प्रासंगिक परिणाम मिलते हैं।
वाइल्डकार्ड सर्च
वाइल्डकार्ड ऐसे अक्षरों को शामिल करने की अनुमति देकर खोज के दायरे का विस्तार करते हैं जो बदल सकते हैं। ऐस्टरिस्क (*) CONTAINS क्वेरियों में वाइल्डकार्ड के रूप में काम करता है और आंशिक मिलान के लिए सक्षम बनाता है। उदाहरण के लिए, "compute" के रूपांतर जैसे "computer", "computing", या "computation" खोजने के लिए आप यह लिख सकते हैं:
SELECT
*
FROM
your_table
WHERE
CONTAINS(your_column, '"compute*"');
यह तरीका तब विशेष रूप से उपयोगी है जब आप किसी मूल शब्द से संबंधित व्यापक डेटा सेट कैप्चर करना चाहते हों या जब डेटाबेस में प्रयुक्त सटीक शब्दों के बारे में सुनिश्चित न हों।
एडवांस्ड पैटर्न मैचिंग
और अधिक परिष्कृत पैटर्न मैचिंग की आवश्यकता होने पर, SQL CONTAINS को LIKE ऑपरेटर या रेगुलर एक्सप्रेशंस के साथ संयोजित करने पर विचार करें। जहाँ CONTAINS फुल-टेक्स्ट सर्च में उत्कृष्ट है, वहीं LIKE और रेगेक्स विशिष्ट कैरेक्टर अनुक्रमों या फ़ॉर्मैट्स (जैसे ईमेल पते या फ़ोन नंबर) को मैच करने जैसी पैटर्न लचीलापन दे सकते हैं।
व्यावहारिक उदाहरण: व्यापक खोजों के लिए तकनीकों का संयोजन
मान लीजिए आपको पर्यावरणीय तकनीक से संबंधित डेटाबेस प्रविष्टियाँ ढूँढनी हैं, लेकिन टेक्स्ट में प्रयुक्त सटीक वाक्यांशों के बारे में निश्चित नहीं हैं। आप विभिन्न तकनीकों को इस प्रकार जोड़ सकते हैं:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
)
AND your_column LIKE '%sustainability%';
यह क्वेरी दिखाती है कि कैसे CONTAINS का उपयोग प्रॉक्सिमिटी और वाइल्डकार्ड सर्च के लिए करते हुए साथ ही LIKE ऑपरेटर को अतिरिक्त पैटर्न मैचिंग के लिए शामिल किया जा सकता है, जो जटिल टेक्स्ट सर्च के लिए एक सशक्त रणनीति प्रदान करता है।
डेटा साइंस में SQL CONTAINS का व्यावहारिक उदाहरण
एक डेटा साइंटिस्ट के रूप में, मैं विभिन्न प्रकार के डेटासेट्स के साथ काम करता हूँ, जिनमें मुख्य रूप से ग्राहक संतुष्टि और फ़ीडबैक जैसे टेक्स्ट डेटासेट शामिल होते हैं। इस उदाहरण में, हम उन विशिष्ट कीवर्ड्स की तलाश करेंगे जो ग्राहक फ़ीडबैक में संतुष्टि या असंतोष का संकेत दे सकते हैं।
|
ID |
FeedbackText |
SatisfactionScore |
|
1 |
I am very happy with the service. |
5 |
|
2 |
Not satisfied with the product quality. |
2 |
|
3 |
The delivery was quick, and the product works great... |
5 |
|
4 |
Customer service was unhelpful and rude. |
1 |
|
5 |
Happy with my purchase. Will recommend! |
4 |
CustomerFeedback तालिका
CONTAINS का उपयोग करने के लिए, आपके डेटाबेस में Full-Text Search सक्षम होना आवश्यक हो सकता है।
CONTAINS कीवर्ड का उपयोग उन रिकॉर्ड्स को खोजने के लिए किया जाता है जहाँ “FeedbackText” कॉलम में “happy” शब्द मौजूद हो।
SELECT
*
FROM
CustomerFeedback
WHERE
CONTAINS(FeedbackText, 'happy');
उपरोक्त क्वेरी CustomerFeedback से वे पंक्तियाँ लौटाएगी जहाँ FeedbackText कॉलम में “happy” शब्द मौजूद हो।
|
ID |
FeedbackText |
SatisfactionScore |
|
1 |
I am very happy with the service. |
5 |
|
3 |
The delivery was quick, and the product works great... |
5 |
|
5 |
Happy with my purchase. Will recommend! |
4 |
आप SQLite डेटाबेस में CONTAINS कमांड का उपयोग नहीं कर सकते। इसके बजाय, यह आज़माएँ:
SELECT
*
FROM
CustomerFeedback
WHERE
FeedbackText LIKE '%happy%';
CONTAINS से आगे: पैटर्न मैचिंग और स्ट्रिंग मैनिप्युलेशन
जहाँ CONTAINS टेक्स्ट सर्च के लिए शक्तिशाली है, वहीं SQL टेक्स्ट डेटा के साथ काम करने के अन्य तरीके भी प्रदान करता है:
LIKE ऑपरेटर
CONTAINS के समान, LIKE ऑपरेटर सरल सिंटैक्स के साथ पैटर्न मैचिंग सक्षम करता है, जिसमें % वाइल्डकार्ड के रूप में उपयोग होता है। उदाहरण के लिए, किसी भी उत्पाद नाम में "apple" शामिल होने को ढूँढने के लिए:
SELECT
*
FROM
Products
WHERE
productName LIKE '%apple%'
एडवांस्ड स्ट्रिंग फ़ंक्शंस
SQL LEFT और REVERSE जैसे फ़ंक्शंस प्रदान करता है, जो टेक्स्ट स्ट्रिंग्स के हिस्सों को निकालने या बदलने में सहायक होते हैं, और टेक्स्ट विश्लेषण व मैनिप्युलेशन के लिए व्यापक क्षमताएँ देते हैं। आप इसके बारे में और जान सकते हैं हमारे Cleaning Data in SQL Server Databases कोर्स में।
निष्कर्ष
SQL CONTAINS फ़ंक्शन और उससे संबंधित टेक्स्ट मैनिप्युलेशन क्षमताएँ डेटा पेशेवरों के लिए आवश्यक उपकरण हैं। इन तकनीकों को समझकर और लागू करके, आप अपने डेटाबेस के भीतर टेक्स्ट डेटा को प्रभावी ढंग से खोज और विश्लेषण कर सकते हैं, अंतर्दृष्टि प्राप्त कर सकते हैं और अपने डेटा विश्लेषण प्रोजेक्ट्स को बेहतर बना सकते हैं।
याद रखें, आपकी क्वेरियों की प्रभावशीलता केवल सिंटैक्स में महारत पर ही निर्भर नहीं करती, बल्कि आपके डेटा के संदर्भ और संरचना को समझने पर भी निर्भर करती है। वास्तविक‑दुनिया के डेटासेट्स और SQL प्रोजेक्ट्स पर अभ्यास करें और विभिन्न फ़ंक्शंस का अन्वेषण करें ताकि टेक्स्ट डेटा विश्लेषण में SQL की शक्ति का पूरा लाभ उठा सकें।
SQL ऑपरेटरों के बारे में और जानने तथा SQL की बुनियादी बातों का अन्वेषण करने के लिए हमारा SQL Basics Cheat Sheet और SQL Fundamentals स्किल ट्रैक देखें।
एक प्रमाणित डेटा साइंटिस्ट के रूप में, मैं अत्याधुनिक तकनीक का उपयोग करके नवाचारी मशीन लर्निंग अनुप्रयोग बनाने के लिए उत्साहित रहता/रहती हूँ। स्पीच रिकॉग्निशन, डेटा विश्लेषण और रिपोर्टिंग, MLOps, संवादात्मक AI और NLP में मजबूत पृष्ठभूमि के साथ, मैंने ऐसे बुद्धिमान सिस्टम विकसित करने में अपनी विशेषज्ञता निखारी है जो वास्तविक प्रभाव डाल सकें। तकनीकी दक्षता के अलावा, मैं जटिल अवधारणाओं को स्पष्ट और संक्षिप्त भाषा में प्रस्तुत करने में भी निपुण हूँ। परिणामस्वरूप, मैं डेटा साइंस पर एक मांग में रहने वाला/वाली ब्लॉगर बन गया/गई हूँ, और डेटा प्रोफेशनलों के बढ़ते समुदाय के साथ अपने अनुभव और विचार साझा करता/करती हूँ। वर्तमान में, मैं कंटेंट निर्माण और संपादन पर केंद्रित हूँ, बड़े भाषा मॉडलों के साथ काम करते हुए ऐसा प्रभावशाली और आकर्षक कंटेंट विकसित कर रहा/रही हूँ जो व्यवसायों और व्यक्तियों दोनों को अपने डेटा का अधिकतम लाभ उठाने में मदद कर सके।

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