Database SQL – NULL Value
ในบางครั้งที่เราทำการดึงข้อมูลด้วย SQL Select อาจจะพบว่าข้อมูลที่ได้มีค่า NULL ซึ่งความหมายคือ ไม่มีข้อมูลใน field ภายใต้ column นั้น โดยความต่างกับการมีค่าเป็น 0 หรือ ค่าว่าง การเลือกข้อมูลโดย SQL NULL Value จึงจำเป็นต้องมีการตรวจสอบด้วย SQL Operator เฉพาะ
รูปแบบ (Syntax)
ใช้ในการทำ SQL Create table
SQL> CREATE TABLE CUSTOMERS(
ID INT NOT NULL,
NAME VARCHAR (20) NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR (25) ,
SALARY DECIMAL (18, 2),
PRIMARY KEY (ID)
);
จาก table CUSTOMERS จะเห็นว่ามี 3 column ที่ห้ามมีค่า NULL และอีก 2 column ที่มีค่า NULL ได้คือ ADDRESS และ SALARY
ตัวอย่าง SQL NULL Value
Table – สร้าง CUSTOMERS table
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | MP | |
| 7 | Muffy | 24 | Indore | |
+----+----------+-----+-----------+----------+
จะเห็นว่ามีข้อมูลอยู่ 2 บรรทัดที่มีค่า NULL ใน column SALARY ซึ่งข้อมูลที่มีค่าเป็น NULL มักสร้างปัญกาในการทำ SQL Select เพราะการเปรียบเทียบข้อมูล NULL ซึ่งไม่มีค่า ผลลัพธ์ที่ได้ย่อมไม่สามารถหาได้ (unknown) เราสามารถใช้ SQL Operator เช่น IS NULL หรือ IS NOT NULL ในการสร้าง SQL EXPRESSION
ตัวอย่างการใช้ IS NOT NULL
SQL> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
WHERE SALARY IS NOT NULL;
ผลลัพธ์ที่ได้
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
+----+----------+-----+-----------+----------+
ตัวอย่างการใช้ IS NULL
SQL> SELECT ID, NAME, AGE, ADDRESS, SALARY
FROM CUSTOMERS
WHERE SALARY IS NULL;
ผลลัพธ์ที่ได้
+----+----------+-----+-----------+----------+
| ID | NAME | AGE | ADDRESS | SALARY |
+----+----------+-----+-----------+----------+
| 6 | Komal | 22 | MP | |
| 7 | Muffy | 24 | Indore | |
+----+----------+-----+-----------+----------+
Reference:
รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น
Author: Suphakit Annoppornchai
Credit: https://saixiii.com, https://www.tutorialspoint.com