SQL IS NULL 運算符是 SQL 中的邏輯運算符,用於檢查列中的空值(NULL 值)。
例如,假設我們有一張表格“student”。我們的表 3 列 - “id”、“name” 和 “rank”。現在,如果我們想從表 “student” 中獲取其行在其排名列中具有 NULL 數據的所有數據,在這種情況下IS NULL 運算符被使用。
在本文中,我們將通過清晰簡潔的示例討論 IS NULL 運算符及其應用。
用法
SELECT * FROM table_name
WHERE column_name IS NULL;
注意:NULL 值不同於零值和空格。具有 NULL 值的字段意味著該字段留空。
演示 SQL 數據庫
在本教程中IS NULL 運算符,我們將使用下表作為示例。
user_id | 名字 | problems_solved | coding_score | 電子郵件 |
---|---|---|---|---|
101 | Vishu | 20 | 100 | example1@gamil.com |
102 | Sumit | 19 | 99 | |
103 | Neeraj | 18 | 98 | example2@gamil.com |
104 | Aayush | 17 | 97 | |
105 | Harsh | 16 | example3@gamil.com | |
106 | Rahul | 15 | example4@gamil.com | |
107 | Vivek | 14 | 90 |
要在您的係統上創建此表,請編寫以下查詢:
CREATE TABLE geeksforgeeks(
user_id int PRIMARY KEY,
name varchar(100),
problems_solved int,
coding_score int,
email varchar(100)
);
INSERT INTO geeksforgeeks (user_id, name, problems_solved, coding_score, email)
VALUES
(101, 'Vishu', 20, 100, 'example1@gamil.com'),
(102, 'Sumit', 19, 99, NULL),
(103, 'Neeraj', 18, 98, 'example2@gamil.com'),
(104, 'Aayush', 17, 97, NULL),
(105, 'Harsh', 16, NULL, 'example3@gamil.com'),
(106, 'Rahul', 15, NULL, 'example4@gamil.com'),
(107, 'Vivek', 14, 90, NULL);
SELECT* FROM geeksforgeeks;
IS NULL 運算符示例
讓我們看一下 SQL 中 IS NULL 運算符的一些示例。這些示例將教您如何在 SQL 查詢中使用 IS NULL 運算符,並幫助您練習 IS NULL 運算符。
示例 1:帶有 WHERE 子句的 IS NULL
我們使用 IS NULL 運算符和 WHERE 子句來過濾表中的數據。
SELECT * FROM geeksforgeeks WHERE email IS NULL;
輸出:
IS NULL 與 WHERE 子句
示例 2:多列上的 IS NULL 運算符
我們可以在多個字段上使用 IS NULL 運算符OR 操作符。
SELECT * FROM geeksforgeeks WHERE email IS NULL or coding_score IS NULL;
輸出:
多列上的 IS NULL 運算符
示例 3:COUNT() 函數為 IS NULL
使用 IS NULL 與COUNT()函數提供列中 NULL 值的總數。
SELECT count(*) as count_empty_coding_score FROM geeksforgeeks WHERE coding_score IS NULL;
輸出:
IS NULL 與 COUNT() 函數
我們可以在表中清楚地看到,有 2 行的編碼分數列中有 NULL 值,即 user_id:105,106。
示例 4:帶有 UPDATE 語句的 IS NULL
我們可以使用 IS NULL 運算符將 NULL 值更新為一些默認值UPDATE 陳述。
UPDATE geeksforgeeks SET email = 'default@gmail.com' WHERE email IS NULL;
輸出:
IS NULL 與 UPDATE 語句
正如我們所看到的user_id:102、104 和 107 以前在其電子郵件列中包含 NULL 值,但現在它們具有默認值,即“default@gmail.com”。
示例 5:帶有 DELETE 語句的 IS NULL
我們可以借助 SQL 刪除所有 NULL 值刪除語句.
DELETE FROM geeksforgeeks WHERE coding_score IS NULL;
輸出:
IS NULL 與 DELETE 語句
我們可以清楚地注意到,所有已刪除的行在其編碼分數列中具有空值。
關於 IS NULL 運算符的要點
- IS NULL operator is used to detect any rows that contain a NULL value in its column.
- IS NULL operator is mostly used with WHERE clause in SQL.
- We can use IS NULL operator on multiple columns using OR operator.
- Using COUNT function we can count total number of NULL values in SQL.
- We can UPDATE or DELETE the NULL values, after filtering them with IS NULL operator.
相關用法
- SQL IS NOT NULL用法及代碼示例
- SQL IN用法及代碼示例
- SQL Datetime轉Date用法及代碼示例
- SQL Date轉Datetime用法及代碼示例
- SQL NUMERIC轉NVARCHAR用法及代碼示例
- SQL LTRIM()用法及代碼示例
- SQL UPPER()用法及代碼示例
- SQL RTRIM()用法及代碼示例
- SQL FLOAT轉NVARCHAR用法及代碼示例
- SQL Datetime轉Epoch用法及代碼示例
- SQL Epoch Time轉Date用法及代碼示例
- SQL Datetime轉String用法及代碼示例
- SQL VARCHAR轉INT用法及代碼示例
- SQL NOT用法及代碼示例
- SQL NOT EQUAL用法及代碼示例
- SQL LIKE用法及代碼示例
- SQL DROP和TRUNCATE的區別用法及代碼示例
- SQL Server CHARINDEX()用法及代碼示例
- SQL Server DIFFERENCE()用法及代碼示例
- SQL Server IIF()用法及代碼示例
- SQL Server ASCII()用法及代碼示例
- SQL Server LOG()用法及代碼示例
- SQL Server LOG10()用法及代碼示例
- SQL Server ATN2()用法及代碼示例
注:本文由純淨天空篩選整理自vishuvaishnav3001大神的英文原創作品 SQL IS NULL Operator。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。