ใน MySQL สามารถค้นหาข้อมูลที่เป็น NULL ได้ด้วย IS NULL และยกเว้นค่าเฉพาะได้ด้วยออปเจอเรเตอร์ != (หรือ <>)
สร้างตารางตัวอย่าง
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
PlayerName varchar(40) );
Query OK, 0 rows affected (0.50 sec)
เพิ่มข้อมูลตัวอย่าง (รวมค่า NULL)
mysql> insert into DemoTable(PlayerName) values('Adam'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(PlayerName) values(NULL); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable(PlayerName) values('Sam'); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable(PlayerName) values('Mike'); Query OK, 1 row affected (0.08 sec)
แสดงข้อมูลทั้งหมด
mysql> select *from DemoTable;
ผลลัพธ์:
+----+------------+ | Id | PlayerName | +----+------------+ | 1 | Adam | | 2 | NULL | | 3 | Sam | | 4 | Mike | +----+------------+ 4 rows in set (0.00 sec)
คิวรี่แสดงข้อมูล NULL และ NOT NULL ยกเว้นค่า 'Sam'
mysql> select *from DemoTable
where PlayerName!='Sam'
or PlayerName IS NULL;
ผลลัพธ์ (ไม่รวมแถวที่ PlayerName = 'Sam'):
+----+------------+ | Id | PlayerName | +----+------------+ | 1 | Adam | | 2 | NULL | | 4 | Mike | +----+------------+ 3 rows in set (0.00 sec)
จุดสำคัญ
- การเปรียบเทียบกับ NULL ต้องใช้
IS NULLหรือIS NOT NULLเท่านั้น ไม่สามารถใช้= NULLได้ - เงื่อนไข
OR PlayerName IS NULLทำให้แถวที่เป็น NULL ถูกนำมารวมในผลลัพธ์ - ออปเจอเรเตอร์
!=และ<>ให้ผลลัพธ์เหมือนกัน