sql command

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 พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

Leave a Reply