কম্পিউটার টিউটোরিয়াল

MySQL-এ NOT IN() দিয়ে সেটে নেই এমন রেকর্ড বের করা

MySQL-এ একটি সেট/অ্যারে মান বাদ দিয়ে বাকি রেকর্ড পেতে NOT IN() ব্যবহার করুন।

উদাহরণ

mysql> CREATE TABLE DemoTable718 (
    Id INT,
    FirstName VARCHAR(100),
    Age INT
);
Query OK, 0 rows affected (0.59 sec)

mysql> INSERT INTO DemoTable718 VALUES
(101, 'Chris', 26),
(102, 'Robert', 24),
(103, 'David', 27),
(104, 'Mike', 28),
(105, 'Sam', 23);
Query OK, 5 rows affected

সব রেকর্ড

mysql> SELECT * FROM DemoTable718;
+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
| 101  | Chris     | 26   |
| 102  | Robert    | 24   |
| 103  | David     | 27   |
| 104  | Mike      | 28   |
| 105  | Sam       | 23   |
+------+-----------+------+

১০১, ১০৩, ১০৪ বাদ দিয়ে বাকিগুলো

mysql> SELECT * FROM DemoTable718 WHERE Id NOT IN ('101', '103', '104');
+------+-----------+------+
| Id   | FirstName | Age  |
+------+-----------+------+
| 102  | Robert    | 24   |
| 105  | Sam       | 23   |
+------+-----------+------+

গুরুত্বপূর্ণ সতর্কতা

  • সেটে NULL থাকলে NOT IN কোনো রো রিটার্ন করে না (ত্রুটি নয়, লজিক)
  • সমাধান: WHERE Id NOT IN (..., ...) AND Id IS NOT NULL বা NOT EXISTS ব্যবহার করুন
  • বড় সেটের জন্য NOT EXISTS বা LEFT JOIN ... WHERE IS NULL দ্রুত
  1. MySQL-এ ডেটা ভ্যালুযুক্ত রেকর্ড থেকে সর্বশেষ তারিখ বের করার পদ্ধতি

  2. MySQL-এ SUBSTR() ব্যবহার করে সেকেন্ড পজিশনে হোয়াইটস্পেসযুক্ত রেকর্ড খুঁজে বের করা

  3. MySQL-এ GREATEST() ফাংশন ব্যবহার করে একাধিক কলামে NULL আছে কিনা যাচাই করা

  4. MySQL-এ DATE_ADD ব্যবহার করে টেবিলের তারিখ আপডেট করা (বছর যোগ/বিয়োগ)