第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

SQL NULL

1. 定義

維基百科:空值(null 或 NULL)是結(jié)構(gòu)化查詢語言中使用的特殊標記,是對屬性未知或缺失的一種標識。

慕課解釋:空值常用于表示某個字段為空;一般地,如果某個字段可以為空,該字段默認為NULL。

2. 前言

本小節(jié),我們將一起學習 SQL NULL。

NULL 是 SQL 中一個頗為特殊的值,它是所有可以為空字段的默認值,它只能由一個運算符 IS 來比較。

3. 介紹

NULL 常出現(xiàn)在以下兩種情況:

  • 如字段是可以為空,且未被插入和更新,則該字段默認為 NULL。
  • 顯式的設(shè)置字段為 NULL。

3.1 實例

我們以一個例子來說明 NULL:

新建imooc_user表,并向其中插入一些數(shù)據(jù),如下:

DROP TABLE IF EXISTS imooc_user;
CREATE TABLE imooc_user
(
  username varchar(20),
  age int
);
INSERT INTO imooc_user(username) VALUES('jerry');
INSERT INTO imooc_user(username,age) 
VALUES('pedro', 23), ('mike', NULL);

操作成功后結(jié)果如下:

+----------+--------+
| username | age    |
+----------+--------+
| jerry    | <null> |
| pedro    | 23     |
| mike     | <null> |
+----------+--------+

從結(jié)果中可以得到:

  • jerry 在插入時,并未顯式指定 age 的值,插入后 age 值為NULL。
  • mike 在插入時,顯式的指定 age 值為NULL,插入后 age 值也為NULL。

4. NULL比較

NULL 比較特殊,無法跟其他值一樣通過 =、> 等運算符進行比較;NULL 必須使用ISIS NOT進行比較。

IS NULL表示字段為空。

IS NOT NULL表示字段非空。

4.1 例1 查詢 age 非空

請書寫 SQL 語句,查詢imooc_user表中age字段非空的用戶名。

分析:

使用 Select 搭配 Where,且查詢條件為 age 非空,即age IS NOT NULL。

語句:

整理可得語句如下:

SELECT username FROM imooc_user WHERE age IS NOT NULL;

結(jié)果如下:

+----------+
| username |
+----------+
| pedro    |
+----------+

4.2 例2 查詢 age 為空

請書寫 SQL 語句,查詢imooc_user表中age字段為空的用戶名。

分析:

使用 Select 搭配 Where,且查詢條件為 age 為空,即age IS NULL。

語句:

整理可得語句如下:

SELECT username FROM imooc_user WHERE age IS NULL;

結(jié)果如下:

+----------+
| username |
+----------+
| jerry    |
| mike     |
+----------+

5. 小結(jié)

  • NULL與其它值不同,因此處理方式也不同,需要搭配IS使用。
  • NULL與0值也不是等價的,它們無法比較。