SQL WHERE क्लॉज कमांड द्वारा लौटाए गए या प्रभावित रिकॉर्ड की संख्या को सीमित करता है। इसका उपयोग SELECT, UPDATE, और DELETE क्लॉज के साथ किया जाता है। आप उन कई शर्तों को निर्दिष्ट करने के लिए AND कीवर्ड का उपयोग कर सकते हैं जिन्हें आप अपने कमांड से प्रभावित रिकॉर्ड को पूरा करना चाहते हैं।
आप विशिष्ट शर्तों का उपयोग करके क्वेरी के परिणामों को फ़िल्टर करना चाह सकते हैं। उदाहरण के लिए, आप उन कर्मचारियों की सूची प्राप्त करना चाह सकते हैं जो सेल्स मैनेजर हैं। या आप यह पता लगाना चाह सकते हैं कि कौन एक विशेष तारीख के बाद कंपनी के लिए काम करना शुरू किया।
आप SQL कमांड चलाते समय विशिष्ट रिकॉर्ड को फ़िल्टर करने के लिए WHERE क्लॉज का उपयोग कर सकते हैं। यह स्टेटमेंट SELECT, UPDATE, और DELETE क्लॉज के साथ संयोजन में काम कर सकता है। इस गाइड में, हम SQL में रिकॉर्ड फ़िल्टर करने के लिए WHERE क्लॉज का उपयोग करने का तरीका कवर करेंगे।
SQL WHERE क्लॉज
SQL WHERE क्लॉज उन रिकॉर्ड्स को फ़िल्टर करता है जो किसी विशेष शर्त, या शर्तों के सेट को पूरा करते हैं। WHERE क्लॉज SQL स्टेटमेंट में "FROM" क्लॉज के बाद आता है।
इस स्टेटमेंट के लिए सिंटैक्स यहां दिया गया है:
SELECT * FROM table WHERE column comparison value;
"SELECT * FROM table" एक मानक सिलेक्ट क्वेरी है। हम WHERE स्टेटमेंट का उपयोग अपनी क्वेरी द्वारा लौटाए गए रिकॉर्ड को सीमित करने के लिए करते हैं। "column" उस कॉलम को संदर्भित करता है जिसमें शर्त पूरी होनी चाहिए। "comparison" और "value" उस तुलना का प्रतिनिधित्व करते हैं जिसे हम करना चाहते हैं।
संभावित तुलनाओं में शामिल हैं:
WHERE name == "Jeff"; WHERE age > 15; WHERE salary < 50000;
आप SQL AND कीवर्ड का उपयोग करके कई WHERE स्टेटमेंट निर्दिष्ट कर सकते हैं:
SELECT * FROM table WHERE column1 comparison1 value1 AND column2 comparison2 value2;
आइए WHERE स्टेटमेंट के एक उदाहरण के माध्यम से चलें।
SQL WHERE उदाहरण: SELECT
हम उन कर्मचारियों की सूची प्राप्त करना चाहते हैं जो सीनियर सेल्स एसोसिएट हैं। ऐसा करने के लिए, हम निम्न SQL SELECT स्टेटमेंट का उपयोग कर सकते हैं:
SELECT name, title FROM employees WHERE title = 'Senior Sales Associate';
क्वेरी हमारे मानदंडों को पूरा करने वाली निम्न पंक्तियाँ लौटाती है:
name | title
——-+————————
Geoff | Senior Sales Associate
Adam | Senior Sales Associate
(2 पंक्तियाँ)
उपरोक्त सभी कर्मचारियों का टाइटल "Senior Sales Associate" है।
आइए एक और उदाहरण उपयोग करें। मान लीजिए हम हर उस कर्मचारी की सूची प्राप्त करना चाहते थे जो प्रति वर्ष $35,000 से अधिक कमाता है और जिसका नाम Adam नहीं है। हम निम्न SQL स्टेटमेंट का उपयोग कर सकते हैं:
SELECT name, salary FROM employees WHERE salary > 35000 AND name <> "Adam";
हमारी क्वेरी निम्न सूची लौटाती है:
name | salary
——-+——–
Geoff | 38000
Emma | 50000
Jonah | 50000
Adam | 38000
(4 पंक्तियाँ)
Adam का नाम हमारे परिणाम सेट में नहीं है भले ही वह प्रति वर्ष $35,000 से अधिक कमाता है। ऐसा इसलिए है क्योंकि हमने अपनी क्वेरी में <> ऑपरेटर का उपयोग करके उसके नाम को बाहर रखा है।
WHERE SQL क्लॉज: Update और Delete
SQL WHERE क्लॉज UPDATE और DELETE स्टेटमेंट के साथ काम करता है।
उदाहरण के लिए, मान लीजिए कि आप कंपनी पुनर्गठन होने पर व्यक्तिगत कर्मचारियों के लिए शाखा नाम अपडेट करना चाहते हैं। आप UPDATE स्टेटमेंट का उपयोग करके ऐसा कर सकते हैं।
हम Luke की शाखा को "Boston" से "Cambridge" में बदलना चाहते हैं, जहां उसका नया कार्यालय स्थित है। हम SQL UPDATE स्टेटमेंट का उपयोग करके ऐसा कर सकते हैं:
UPDATE employees SET branch = 'Cambridge' WHERE name = 'Luke';
यदि हम Luke की शाखा जानने के लिए क्वेरी करते हैं, तो हमें निम्न परिणाम सेट मिलता है:
name | branch
——+———–
Luke | Cambridge
(1 पंक्ति)
हम SQL DELETE कमांड के साथ WHERE क्लॉज का उपयोग कर सकते हैं।
मान लीजिए हम उन हर कर्मचारी के रिकॉर्ड हटाना चाहते थे जो Albany शाखा में काम करते हैं, जिसे बंद कर दिया गया है। हम निम्न कमांड का उपयोग करके ऐसा कर सकते हैं:
DELETE FROM employees WHERE branch = 'Albany';
जब हमें कर्मचारियों की सूची मिलती है, तो लौटाई गई पंक्तियों की संख्या आठ के बजाय छह होती है:
name | branch
——–+—————
Mike | Stamford
Hannah | San Francisco
Geoff | San Francisco
Alexis | Boston
Adam | Sacramento
Luke | Cambridge
(6 पंक्तियाँ)
SQL ऑपरेटर
SQL WHERE क्लॉज रिकॉर्ड्स को फ़िल्टर करने के लिए लॉजिकल ऑपरेटर का उपयोग करता है। हमारे पहले उदाहरण में, हमने सीनियर सेल्स एसोसिएट्स के नामों की जांच के लिए "बराबर है" ऑपरेटर का उपयोग किया।
कई लॉजिकल ऑपरेटर हैं जिनका उपयोग हम इस क्लॉज के साथ रिकॉर्ड्स फ़िल्टर करने के लिए कर सकते हैं। ये इस प्रकार हैं:
| Operator | Description | Example |
| = | बराबर है | WHERE name = 'Jake' |
| > | से बड़ा है | age > 20 |
| < | से छोटा है | age < 20 |
| >= | से बड़ा या बराबर है | salary >= 50000 |
| <= | से छोटा या बराबर है | salary <= 40000 |
| LIKE | पैटर्न मिलान | name LIKE 'Jo*' |
| IN | जांचें कि क्या निर्दिष्ट मान सूची में किसी से मेल खाता है | title IN ('Sales Associate', 'Director of Sales') |
| BETWEEN | जांचें कि निर्दिष्ट मान अन्य मानों की सीमा के भीतर है या नहीं | employee_month_awards BETWEEN 1 AND 5 |
निष्कर्ष
SQL WHERE क्लॉज कमांड द्वारा प्रभावित रिकॉर्ड्स को फ़िल्टर करता है। आप SQL में WHERE क्लॉज का उपयोग SELECT, UPDATE, और DELETE स्टेटमेंट के साथ कर सकते हैं। आप AND स्टेटमेंट का उपयोग करके कई WHERE क्लॉज निर्दिष्ट कर सकते हैं, लेकिन आपको WHERE कीवर्ड का उपयोग केवल एक बार करना होगा।
इस ट्यूटोरियल में, हमने क्वेरी, SQL WHERE क्लॉज, और UPDATE या DELETE ऑपरेशन में क्लॉज का उपयोग करने का तरीका कवर किया। हमने इस क्लॉज के साथ उपयोग किए जा सकने वाले सशर्त ऑपरेटरों पर चर्चा की।
क्या आप पेशेवर SQL डेवलपर बनने में रुचि रखते हैं? हमारे How to Learn SQL गाइड को देखें। इस गाइड में SQL में महारत हासिल करने में आपकी मदद करने के लिए शीर्ष शिक्षण संसाधनों की सूची है।