প্রথমে একটি টেবিল তৈরি করি:
mysql> create table DemoTable793(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100)
);
Query OK, 0 rows affected (0.81 sec)
কিছু রেকর্ড ইনসার্ট করি (NULL সহ):
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)
NOT IN, OR এবং IS NULL একসাথে ব্যবহার করার ক্যোয়ারি (Chris বাদে সব এবং NULL সহ):
mysql> select *from DemoTable793 where StudentName NOT IN('Chris') OR StudentName IS NULL;
আউটপুট:
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | 1 | Adam | | 2 | Bob | | 3 | NULL | | 5 | Robert | +-----------+-------------+ 4 rows in set (0.00 sec)
ব্যাখ্যা: NOT IN('Chris') হলো Chris বাদে সব। OR StudentName IS NULL যুক্ত করলে NULL ভ্যালুও ফলাফলে আসে (কারণ NULL IN/NOT IN-এ true রিটার্ন করে না)।