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)

Updated on: 09-Sep-2019

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements