📅  最后修改于: 2020-12-29 04:38:19             🧑  作者: Mango
SQL NULL是用于表示缺失值的术语。表中的NULL值是显示为空白的字段中的值。
值为NULL的字段是没有值的字段。理解NULL值不同于零值或包含空格的字段非常重要。
创建表时NULL的基本语法。
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)
);
在此, NOT NULL表示列应始终接受给定数据类型的显式值。有两列我们未使用NOT NULL,这意味着这些列可能为NULL。
具有NULL值的字段是在记录创建过程中留为空白的字段。
选择数据时,NULL值可能会导致问题。但是,因为将未知值与任何其他值进行比较时,结果始终是未知的,并且不包括在结果中。您必须使用IS NULL或IS NOT NULL运算符检查NULL值。
考虑以下具有记录的CUSTOMERS表,如下所示。
+----+----------+-----+-----------+----------+
| 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 | |
+----+----------+-----+-----------+----------+
现在,下面是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 | |
+----+----------+-----+-----------+----------+