WHERE id != 5 AND id != 10 AND id != 15 लिखने के बजाय NOT IN ऑपरेटर का उपयोग करें।
सिंटैक्स:
SELECT * FROM yourTableName WHERE yourColumnName NOT IN (value1, value2, value3);
एक टेबल बनाते हैं:
CREATE TABLE User_informations (
UserId INT,
UserName VARCHAR(20)
);
रिकॉर्ड डालें (8 पंक्तियाँ)।
UserId 1, 2, 7 को छोड़कर सभी चुनें:
SELECT * FROM User_informations WHERE UserId NOT IN (1, 2, 7);
आउटपुट
+--------+----------+ | UserId | UserName | +--------+----------+ | 12 | Maxwell | | 10 | Bob | | 14 | Sam | | 6 | Mike | | 4 | Robert | +--------+----------+
लाभ:
- पठनीय और संक्षिप्त
- रखरखाव में आसान
- ऑप्टिमाइज़र द्वारा बेहतर निष्पादन योजना
सावधानी: यदि सूची में NULL है, तो NOT IN कोई पंक्ति नहीं लौटाएगा। ऐसे मामले में NOT EXISTS या LEFT JOIN ... WHERE IS NULL उपयोग करें।
-- NULL समस्या उदाहरण SELECT * FROM t WHERE col NOT IN (1, 2, NULL); -- खाली परिणाम! -- समाधान: SELECT * FROM t WHERE col NOT IN (1, 2) AND col IS NOT NULL;