Write a single MySQL query to exclude a record and display NULL value


To check records which are NULL, use IS NULL. However, to exclude any of the records, use the NOT IN clause. Use both of them in the same query.

Let us first create a table −

mysql> create table DemoTable793 (
   StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   StudentName varchar(100)
);
Query OK, 0 rows affected (0.81 sec)

Insert some records in the table using insert command −

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)

Display all records from the table using select statement −

mysql> select *from DemoTable793;

This will produce the following output -

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

Following is the query to exclude a record and display the NULL values −

mysql> select *from DemoTable793 where StudentName NOT IN('Chris') OR StudentName IS NULL;

This will produce the following output -

+-----------+-------------+
| StudentId | StudentName |
+-----------+-------------+
| 1         | Adam        |
| 2         | Bob         |
| 3         | NULL        |
| 5         | Robert      |
+-----------+-------------+
4 rows in set (0.00 sec)
raja
Published on 09-Sep-2019 12:17:49
Advertisements