कोर्स
SQL के क्षेत्र में, तुलना ऑपरेटरों को समझना डेटा हेरफेर और विश्लेषण के लिए महत्वपूर्ण है। इन ऑपरेटरों में, NOT EQUAL (<> या !=) निर्दिष्ट मानदंडों से मेल न खाने वाले डेटा को फ़िल्टर करने में अहम भूमिका निभाता है। यह ट्यूटोरियल NOT EQUAL ऑपरेटर को सरल बनाता है और शुरुआती लोगों को इसकी महत्ता, उपयोग और बारीकियों के माध्यम से कुशलतापूर्वक SQL क्वेरी करने के लिए मार्गदर्शन देता है।
तुलना ऑपरेटरों का परिचय
तुलना ऑपरेटर SQL में बुनियादी हैं, जो विशिष्ट शर्तों के आधार पर डेटा का मूल्यांकन करने की अनुमति देते हैं। इनमें समानता (=), असमानता (<>, !=), बड़ा (>) और छोटा (<) आदि शामिल हैं। खास बात यह है कि SQL असमानता दर्शाने के लिए दो प्रतीक प्रदान करता है: <> और !=। दोनों का उद्देश्य समान है, लेकिन ISO मानकों का पालन करने के लिए <> को प्राथमिकता दी जाती है।
SQL NOT EQUAL ऑपरेटर की पड़ताल
NOT EQUAL का उपयोग क्यों करें?
NOT EQUAL ऑपरेटर (<> या !=) का उपयोग तालिका से ऐसे डेटा को क्वेरी करने के लिए किया जाता है जो किसी शर्त को पूरा नहीं करता। यह परिणामों से विशिष्ट पंक्तियों को बाहर करने में सक्षम बनाता है, जिससे डेटा विश्लेषण अधिक सटीक और प्रासंगिक बनता है।
सिंटैक्स और उपयोग
NOT EQUAL ऑपरेटर का सिंटैक्स सीधा है—दो अभिव्यक्तियों की तुलना कर गैर-मिलान वाले डेटा को फ़िल्टर किया जाता है। इसे WHERE, JOIN और HAVING जैसी विभिन्न क्लॉज़ और शर्तों के साथ इस्तेमाल किया जा सकता है।
WHERE क्लॉज़
इसे उन पंक्तियों को फ़िल्टर करने के लिए उपयोग किया जा सकता है जहाँ किसी कॉलम का मान किसी निर्दिष्ट मान से मेल नहीं खाता। उदाहरण के लिए, किसी विशेष प्रोडक्ट ID को छोड़कर डेटाबेस से प्रोडक्ट चुनने के लिए निम्नलिखित कोड का उपयोग किया जाएगा:
SELECT *
FROM products
WHERE ProductID <> 1;
JOIN शर्तें
तालिकाओं को जोड़ने की शर्तें निर्धारित करने के लिए इसे ON क्लॉज़ में इस्तेमाल किया जा सकता है।
SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;
HAVING क्लॉज़
एग्रीगेट शर्तों के आधार पर समूहित डेटा को फ़िल्टर करने के लिए इसका उपयोग किया जा सकता है।
SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) != 5;
CASE स्टेटमेंट्स
शर्त पूरी होने पर विशिष्ट परिणाम लौटाने के लिए इसे कंडीशनल लॉजिक में इस्तेमाल किया जा सकता है।
SELECT name,
CASE
WHEN department_id != 10 THEN 'Other Department'
ELSE 'Department 10'
END AS department_category
FROM employees;
UPDATE स्टेटमेंट्स
असमानता के आधार पर अपडेट की जाने वाली पंक्तियाँ निर्दिष्ट करने के लिए इसे WHERE क्लॉज़ में इस्तेमाल किया जा सकता है।
UPDATE employees
SET salary = salary * 1.1
WHERE job_id != 'Manager';
DELETE स्टेटमेंट्स
इसे WHERE क्लॉज़ में उस शर्त के सत्य होने पर हटाई जाने वाली पंक्तियों की पहचान करने के लिए इस्तेमाल किया जा सकता है।
DELETE FROM employees
WHERE department_id != 10;
व्यावहारिक उदाहरण
आइए SQL NOT EQUAL ऑपरेटर के व्यावहारिक उपयोग को और गहराई से समझें। विस्तृत उदाहरणों के जरिए आप देखेंगे कि डेटाबेस क्वेरी करते समय यह कितना बहुमुखी और शक्तिशाली है। ये उदाहरण अलग-अलग परिदृश्यों में != और <> का प्रभावी उपयोग करना दिखाते हैं, जिससे आपकी SQL क्वेरी करने की क्षमता बढ़ेगी।
उदाहरण 1: विशिष्ट रिकॉर्ड फ़िल्टर करना
कल्पना करें कि Employees नामक एक डेटाबेस तालिका है, जिसमें EmployeeID, Name और DepartmentID कॉलम हैं। यदि आप किसी विशिष्ट विभाग—मान लें DepartmentID 3—के कर्मचारियों को बाहर करना चाहते हैं, तो आप NOT EQUAL ऑपरेटर का उपयोग कर सकते हैं:
|
EmployeeID |
Name |
DepartmentID |
|
1 |
Alice Johnson |
1 |
|
2 |
Bob Smith |
2 |
|
3 |
Carol White |
3 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID != 3;
यह क्वेरी उन सभी कर्मचारियों को प्राप्त करती है जो DepartmentID 3 का हिस्सा नहीं हैं, यानी उस विशेष विभाग के व्यक्तियों को प्रभावी रूप से फ़िल्टर करती है।
|
EmployeeID |
Name |
DepartmentID |
|
1 |
Alice Johnson |
1 |
|
2 |
Bob Smith |
2 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
उदाहरण 2: शर्तों का संयोजन
मान लें कि आप DepartmentID 3 के कर्मचारियों को और उन लोगों को बाहर करना चाहते हैं जिनके नाम 'A' से शुरू होते हैं। इसके लिए NOT EQUAL ऑपरेटर को अन्य शर्तों के साथ AND और LIKE के जरिए संयोजित करना होगा:
SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <> 3 AND Name NOT LIKE 'A%';
यह क्वेरी दर्शाती है कि विभाग और नाम मानदंडों के आधार पर कर्मचारियों के एक उपसमूह को बाहर करने के लिए LIKE के साथ NOT EQUAL का उपयोग पैटर्न मिलान में कैसे किया जाता है।
|
EmployeeID |
Name |
DepartmentID |
|
2 |
Bob Smith |
2 |
|
4 |
David Green |
2 |
|
5 |
Erin Black |
4 |
उदाहरण 3: NULL मानों को संभालना
SQL में NULL मानों से निपटते समय विशेष ध्यान देने की आवश्यकता होती है, क्योंकि NULL किसी अज्ञात मान का प्रतिनिधित्व करता है। यदि आप उन कर्मचारियों को खोजना चाहते हैं जिनका ManagerID ज्ञात नहीं है (यानी NULL है), तो आप != या <> का उपयोग करने के बारे में सोच सकते हैं। हालांकि, सही तरीका IS NOT NULL का उपयोग करना है:
|
EmployeeID |
Name |
DepartmentID |
ManagerID |
|
1 |
Alice Johnson |
1 |
NULL |
|
2 |
Bob Smith |
2 |
1 |
|
3 |
Carol White |
3 |
1 |
|
4 |
David Green |
2 |
2 |
|
5 |
Erin Black |
4 |
3 |
अपडेटेड Employees तालिका
SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;
यह क्वेरी उन कर्मचारियों को लाती है जिनका ManagerID ज्ञात है, और जिनका ManagerID NULL है उन्हें बाहर करती है। यह बताती है कि तुलना ऑपरेशनों में SQL NULL मानों की व्याख्या कैसे करता है, यह समझना क्यों महत्वपूर्ण है।
|
EmployeeID |
Name |
|
2 |
Bob Smith |
|
3 |
Carol White |
|
4 |
David Green |
|
5 |
Erin Black |
उदाहरण 4: एग्रीगेशन के साथ NOT EQUAL का उपयोग
मान लें कि आप Sales तालिका से बिक्री डेटा का विश्लेषण करना चाहते हैं, और वर्ष 2020 की बिक्री को बाहर रखना चाहते हैं। GROUP BY के साथ NOT EQUAL को जोड़कर आप डेटा को एग्रीगेट करते हुए विशिष्ट वर्षों को फ़िल्टर कर सकते हैं:
|
SaleID |
SaleDate |
Quantity |
|
1 |
2019-05-01 |
2 |
|
2 |
2019-08-15 |
1 |
|
3 |
2020-04-20 |
3 |
|
4 |
2021-07-22 |
1 |
|
5 |
2021-11-05 |
2 |
|
6 |
2022-01-30 |
4 |
Sales तालिका
SELECT YEAR(SaleDate) AS SaleYear, COUNT(*) AS TotalSales
FROM Sales
GROUP BY YEAR(SaleDate)
HAVING YEAR(SaleDate) <> 2020;
यह क्वेरी बिक्री को वर्ष के अनुसार एग्रीगेट करती है और वर्ष 2020 की कुल बिक्री को बाहर करती है, यह दिखाते हुए कि NOT EQUAL को एग्रीगेट फ़ंक्शंस और GROUP BY के साथ मिलाकर आप अपने डेटा विश्लेषण को कैसे परिष्कृत कर सकते हैं।
|
SaleYear |
TotalSales |
|
2019 |
2 |
|
2021 |
2 |
|
2022 |
1 |
उदाहरण 5: प्रदर्शन अनुकूलन
जब आप बड़े डेटा सेट पर क्वेरी करते हैं, तो NOT EQUAL शर्तों की संरचना प्रदर्शन को प्रभावित कर सकती है। मान लें कि आप Products तालिका के साथ काम कर रहे हैं और श्रेणी 5 और 7 के प्रोडक्ट्स को बाहर करना चाहते हैं। NOT EQUAL का कई बार उपयोग करने के बजाय, NOT IN का उपयोग अधिक कुशल हो सकता है:
|
ProductID |
Name |
CategoryID |
|
1 |
Wireless Mouse |
1 |
|
2 |
Gaming Keyboard |
5 |
|
3 |
USB-C Charging Cable |
3 |
|
4 |
Bluetooth Speakers |
7 |
|
5 |
Ergonomic Chair |
2 |
|
6 |
LED Monitor |
4 |
|
7 |
Smartwatch |
5 |
|
8 |
Desk Lamp |
6 |
|
9 |
Webcam |
2 |
SELECT ProductID, Name
FROM Products
WHERE CategoryID NOT IN (5, 7);
यह क्वेरी अधिक संक्षिप्त है और बड़े डेटा सेट पर संभावित रूप से अधिक कुशल भी, जब आप कई विशिष्ट मानों को बाहर कर रहे हों—यह एक उपयोगी ऑप्टिमाइज़ेशन तकनीक को दर्शाती है।
|
ProductID |
Name |
|
1 |
Wireless Mouse |
|
3 |
USB-C Charging Cable |
|
5 |
Ergonomic Chair |
|
6 |
LED Monitor |
|
8 |
Desk Lamp |
|
9 |
Webcam |
इन उदाहरणों के माध्यम से, आपने विभिन्न परिदृश्यों में SQL NOT EQUAL ऑपरेटर की लचीलापन और शक्ति को देखा—सरल अपवर्जन से लेकर एग्रीगेशन और प्रदर्शन से जुड़ी जटिल क्वेरीज़ तक।
जब आप इन उदाहरणों का अभ्यास करें, तो याद रखें कि != और <> के बीच चुनाव काफी हद तक शैलीगत है, लेकिन आपके उपयोग में स्थिरता आपकी SQL क्वेरीज़ को पढ़ने और बनाए रखने में आसान बनाती है।
प्रदर्शन संबंधी विचार
NOT EQUAL ऑपरेटर शक्तिशाली है, लेकिन इसका उपयोग प्रदर्शन संबंधी विचारों के साथ संतुलित होना चाहिए। असमानता ऑपरेशन कभी-कभी कम कुशल क्वेरी एक्ज़ीक्यूशन प्लान, जैसे फुल टेबल स्कैन, की ओर ले जा सकते हैं। कुछ स्थितियों में IN ऑपरेटर या समानता आधारित शर्तें बेहतर प्रदर्शन दे सकती हैं।
निष्कर्ष
NOT EQUAL ऑपरेटर SQL में डेटा फ़िल्टरिंग के लिए एक बुनियादी उपकरण है। इसके उपयोग और प्रदर्शन संबंधी प्रभावों को समझकर, आप कुशल और प्रभावी क्वेरीज़ बना सकते हैं। याद रखें, ISO मानकों के अनुपालन के लिए <> को != पर प्राथमिकता दी जानी चाहिए, जिससे आपका SQL कोड मज़बूत और सार्वभौमिक रूप से समझने योग्य रहे।
SQL के NOT EQUAL ऑपरेटर के बारे में और जानने और SQL की बुनियादी बातें समझने के लिए हमारा SQL Basics Cheat Sheet और SQL Fundamentals स्किल ट्रैक देखें।
एक प्रमाणित डेटा साइंटिस्ट के रूप में, मैं अत्याधुनिक तकनीक का उपयोग करके नवाचारी मशीन लर्निंग अनुप्रयोग बनाने के लिए उत्साहित रहता/रहती हूँ। स्पीच रिकॉग्निशन, डेटा विश्लेषण और रिपोर्टिंग, MLOps, संवादात्मक AI और NLP में मजबूत पृष्ठभूमि के साथ, मैंने ऐसे बुद्धिमान सिस्टम विकसित करने में अपनी विशेषज्ञता निखारी है जो वास्तविक प्रभाव डाल सकें। तकनीकी दक्षता के अलावा, मैं जटिल अवधारणाओं को स्पष्ट और संक्षिप्त भाषा में प्रस्तुत करने में भी निपुण हूँ। परिणामस्वरूप, मैं डेटा साइंस पर एक मांग में रहने वाला/वाली ब्लॉगर बन गया/गई हूँ, और डेटा प्रोफेशनलों के बढ़ते समुदाय के साथ अपने अनुभव और विचार साझा करता/करती हूँ। वर्तमान में, मैं कंटेंट निर्माण और संपादन पर केंद्रित हूँ, बड़े भाषा मॉडलों के साथ काम करते हुए ऐसा प्रभावशाली और आकर्षक कंटेंट विकसित कर रहा/रही हूँ जो व्यवसायों और व्यक्तियों दोनों को अपने डेटा का अधिकतम लाभ उठाने में मदद कर सके।
SQL NOT IN FAQs
SQL NOT EQUAL ऑपरेटर क्या करता है?
SQL NOT EQUAL ऑपरेटर (<> या !=) किसी विशेष शर्त से मेल खाने वाली पंक्तियों को बाहर करके डेटा को फ़िल्टर करता है। इसे प्रायः ऐसी क्वेरीज़ में उपयोग किया जाता है जहाँ निर्दिष्ट मानदंडों को पूरा न करने वाला डेटा प्राप्त करना हो।
क्या <> और != SQL में समान हैं?
हाँ, <> और != SQL में असमानता का ही प्रतिनिधित्व करते हैं और उद्देश्य समान है। हालाँकि, <> को प्राथमिकता दी जाती है क्योंकि यह ISO मानकों के अनुरूप है, जिससे क्वेरीज़ अधिक सार्वभौमिक रूप से समझी जा सकती हैं।
क्या NOT EQUAL ऑपरेटर NULL मानों को संभाल सकता है?
नहीं, NOT EQUAL ऑपरेटर सीधे NULL मानों को हैंडल नहीं करता। NULL SQL में अज्ञात मान का प्रतिनिधित्व करता है, इसलिए NULLs को फ़िल्टर करने के लिए IS NOT NULL शर्त का उपयोग करना चाहिए।
SQL क्वेरीज़ में NOT EQUAL उपयोग करने पर प्रदर्शन कैसे प्रभावित होता है?
NOT EQUAL का उपयोग कभी-कभी कम कुशल क्वेरी एक्ज़ीक्यूशन प्लान—जैसे फुल टेबल स्कैन—का कारण बन सकता है। प्रदर्शन को अनुकूलित करने के लिए, उपयुक्त होने पर IN ऑपरेटर या इंडेक्सड समानता शर्तों जैसे विकल्पों पर विचार करें।
क्या मैं NOT EQUAL ऑपरेटर को अन्य SQL शर्तों के साथ जोड़ सकता/सकती हूँ?
हाँ, NOT EQUAL ऑपरेटर को अन्य शर्तों के साथ, जैसे AND और OR लॉजिकल ऑपरेटरों तथा LIKE जैसे पैटर्न-मैचिंग फ़ंक्शंस के साथ जोड़ा जा सकता है, ताकि अधिक जटिल और सटीक क्वेरीज़ बनाई जा सकें।
