MySQL IN() ऑपरेटर: एक साथ कई मानों से मिलान
IN() ऑपरेटर आपको एक कॉलम की तुलना मानों की सूची से करने की अनुमति देता है। यह कई OR शर्तों को लिखने से अधिक संक्षिप्त और पठनीय है।
उदाहरण: विशिष्ट उपनाम वाले रिकॉर्ड प्राप्त करना
टेबल बनाएं और डेटा डालें:
CREATE TABLE DemoTable (
FirstName VARCHAR(100),
LastName VARCHAR(100)
);
INSERT INTO DemoTable VALUES ('Adam', 'Smith');
INSERT INTO DemoTable VALUES ('John', 'Doe');
INSERT INTO DemoTable VALUES ('John', 'Smith');
INSERT INTO DemoTable VALUES ('Chris', 'Brown');
INSERT INTO DemoTable VALUES ('Robert', 'Brown');
INSERT INTO DemoTable VALUES ('David', 'Miller');
सभी रिकॉर्ड:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | Adam | Smith | | John | Doe | | John | Smith | | Chris | Brown | | Robert | Brown | | David | Miller | +-----------+----------+
IN() का उपयोग करके Smith, Brown, Miller उपनाम वाले रिकॉर्ड प्राप्त करें
SELECT * FROM DemoTable
WHERE LastName IN ('Smith', 'Brown', 'Miller');
परिणाम:
+-----------+----------+ | FirstName | LastName | +-----------+----------+ | Adam | Smith | | John | Smith | | Chris | Brown | | Robert | Brown | | David | Miller | +-----------+----------+
IN() बनाम OR
निम्न दो क्वेरी समान परिणाम देती हैं, लेकिन IN() अधिक पठनीय है:
-- IN() का उपयोग (अनुशंसित)
WHERE LastName IN ('Smith', 'Brown', 'Miller')
-- OR का उपयोग (लंबा)
WHERE LastName = 'Smith' OR LastName = 'Brown' OR LastName = 'Miller'
NOT IN()
विपरीत परिणाम के लिए NOT IN() का उपयोग करें:
SELECT * FROM DemoTable
WHERE LastName NOT IN ('Smith', 'Brown');
यह 'Doe' और 'Miller' वाले रिकॉर्ड लौटाएगा।