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

MySQL-এ NOT IN, OR এবং 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)

কিছু রেকর্ড ইনসার্ট করি (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 রিটার্ন করে না)।

  1. MySQL에서 중복 튜플 찾기와 개수 세기 (GROUP BY HAVING)

  2. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  3. MySQL에서 날짜 문자열을 요일 기준 월요일로 맞춰 표시하기 (STR_TO_DATE, WEEKDAY, DATE_FORMAT)

  4. MySQL-এ != NULL এবং IS NOT NULL-এর পার্থক্য