ใช้เงื่อนไข IS NOT NULL ใน WHERE เพื่อกรองเฉพาะแถวที่คอลัมน์ ID มีค่า (ไม่ใช่ NULL) และตรงตามเงื่อนไขอื่นๆ
ตัวอย่างการสร้างตาราง
mysql> create table DemoTable (
StudentId int,
StudentName varchar(100) );
Query OK, 0 rows affected (0.85 sec)
เพิ่มข้อมูล (มี StudentId เป็น NULL)
mysql> insert into DemoTable values(NULL,'Chris'); Query OK, 1 row affected (0.14 sec) mysql> insert into DemoTable values(NULL,'Robert'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(101,'David'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(102,'Mike'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values(103,'Sam'); Query OK, 1 row affected (0.18 sec)
แสดงข้อมูลทั้งหมด
mysql> select * from DemoTable;
+-----------+-------------+ | StudentId | StudentName | +-----------+-------------+ | NULL | Chris | | NULL | Robert | | 101 | David | | 102 | Mike | | 103 | Sam | +-----------+-------------+ 5 rows in set (0.00 sec)
คำสั่งหา StudentId ของชื่อ David ที่ไม่เป็น NULL
mysql> select StudentId from DemoTable where StudentName = 'David' and StudentId IS NOT NULL;
ผลลัพธ์
+-----------+ | StudentId | +-----------+ | 101 | +-----------+ 1 row in set (0.00 sec)
คำอธิบาย: เงื่อนไข StudentId IS NOT NULL สำคัญมาก เพราะใน MySQL การเปรียบเทียบ NULL = 'David' หรือ NULL != 'David' จะคืนค่า UNKNOWN (ไม่ใช่ TRUE/FALSE) ทำให้แถวที่มี NULL ถูกตัดออกโดยอัตโนมัติ แต่อย่างไรก็ตาม การระบุชัดเจนทำให้เจตนาชัดเจนและป้องกันบั๊ก