NOT IN() অপারেটর ব্যবহার করে নির্দিষ্ট মানগুলো বাদ দিয়ে বাকি রেকর্ডগুলো বের করা যায়।
টেবিল তৈরি ও ডেটা ইনসার্ট
mysql> CREATE TABLE DemoTable791 (
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Chris');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Robert');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('David');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Mike');
Query OK, 1 row affected (0.11 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Bob');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Carol');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES ('Adam');
Query OK, 1 row affected (0.09 sec)
সকল রেকর্ড
mysql> SELECT * FROM DemoTable791;
আউটপুট:
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | | 3 | David | | 4 | Mike | | 5 | Bob | | 6 | Carol | | 7 | Adam | +----+-----------+ 7 rows in set (0.00 sec)
Id 4, 5, 6 বাদ দিয়ে নির্বাচন
mysql> SELECT * FROM DemoTable791 WHERE Id NOT IN (4, 5, 6);
ফলাফল:
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | | 3 | David | | 7 | Adam | +----+-----------+ 4 rows in set (0.00 sec)
সাবকোয়েরির সাথে NOT IN
SELECT * FROM DemoTable791 WHERE Id NOT IN (SELECT Id FROM InactiveUsers);
NULL সতর্কতা (আরেকবার)
যদি সাবকোয়েরি NULL রিটার্ন করে, তবে NOT IN কোনো রো রিটার্ন করবে না। NOT EXISTS বা LEFT JOIN ... WHERE IS NULL ব্যবহার করুন।