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

MySQL-এ NOT IN ও IS NULL একসাথে ব্যবহার করে রেকর্ড বাদ দিয়ে NULL মান প্রদর্শন

একই কোয়েরিতে নির্দিষ্ট রেকর্ড বাদ দেওয়া এবং NULL মান থাকা রেকর্ড দেখানোর জন্য NOT IN এবং IS NULL একসাথে ব্যবহার করা হয়।

টেবিল তৈরি ও ডেটা ইনসার্ট

mysql> CREATE TABLE DemoTable793 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentName VARCHAR(100)
);
Query OK, 0 rows affected (0.81 sec)
mysql> INSERT INTO DemoTable793(StudentName) VALUES ('Adam');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable793(StudentName) VALUES ('Bob');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable793(StudentName) VALUES (NULL);
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable793(StudentName) VALUES ('Chris');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable793(StudentName) VALUES ('Robert');
Query OK, 1 row affected (1.03 sec)

সকল রেকর্ড

mysql> SELECT * FROM DemoTable793;

আউটপুট:

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Adam        |
| 2         | Bob         |
| 3         | NULL        |
| 4         | Chris       |
| 5         | Robert      |
+-----------+-------------+
5 rows in set (0.00 sec)

'Chris' বাদ দিয়ে NULL সহ রেকর্ড দেখানো

mysql> SELECT * FROM DemoTable793 
WHERE StudentName NOT IN ('Chris') OR StudentName IS NULL;

ফলাফল (Chris বাদ, NULL থাকে):

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Adam        |
| 2         | Bob         |
| 3         | NULL        |
| 5         | Robert      |
+-----------+-------------+
4 rows in set (0.00 sec)

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

NOT IN তালিকাতে NULL থাকলে পুরো ফলাফল খালি আসে! উদাহরণ:

WHERE col NOT IN (1, 2, NULL) -- সবসময় FALSE রিটার্ন করে

সমাধান: WHERE col NOT IN (1,2) AND col IS NOT NULL বা WHERE NOT (col IN (1,2)) ব্যবহার করুন।

  1. MySQL-এ GROUP BY ও COUNT একসাথে ব্যবহার করে ডুপ্লিকেট গ্রুপ করেই ম্যাক্স মান বের করা

  2. MySQL-এ BETWEEN অপারেটর ব্যবহার করে একাধিক ইনপুটের জন্য একই কোয়েরিতে মান বের করা

  3. MySQL-এ ORDER BY এক্সপ্রেশন ব্যবহার করে ভ্যালু ১০-এর চেয়ে বড় গুলো ASC, ছোট গুলো DESC সর্ট করুন

  4. MySQL-এ AND ও OR অপারেটর ব্যবহার করে নির্দিষ্ট রেকর্ড বের করা