初考-統計資料處理大意114 年第 24 題單選題
下列那個 SQL 指令可以用來檢查欄位值是否為空值?
AEQUAL EMPTY
BEQUAL NULL
CIS EMPYT
DIS NULL正確答案
D正確答案
SQL 檢查欄位是否為空值,必須用 IS NULL,不能用等號(=)比較。
為什麼答案是 D
正解。SQL 標準語法用 IS NULL 檢查空值、IS NOT NULL 檢查非空值。例:SELECT * FROM T WHERE col IS NULL。
載入中…
完整詳解
Pro · 無限重點 SQL 檢查欄位是否為空值,必須用 IS NULL,不能用等號(=)比較。
記口訣:NULL 不是值,要用『IS』問它在不在,不能用『=』比較。
逐選項分析
A✕
SQL 根本沒有 EQUAL EMPTY 這個語法,EMPTY 在 SQL 也不是空值的代名詞,純屬誤導。
B✕ 陷阱
最常見陷阱!雖然 NULL 是正確概念,但 SQL 不能寫 EQUAL NULL 或 = NULL,因為 NULL 代表未知,與任何值(包括自己)比較都回傳 UNKNOWN。
C✕
EMPYT 是 EMPTY 的拼字錯誤,且 SQL 中空值概念叫 NULL 不叫 EMPTY,雙重錯誤。
D✓ 正確
正解。SQL 標準語法用 IS NULL 檢查空值、IS NOT NULL 檢查非空值。例:SELECT * FROM T WHERE col IS NULL。
SQL 空值檢查語法對照
| 寫法 | 是否合法 | 結果 | 說明 |
|---|
| col = NULL | ❌ | 永遠回傳 UNKNOWN | NULL 不能用 = 比較 |
| col IS NULL | ✅ | 是空值回傳 TRUE | 標準正確寫法 |
| col IS NOT NULL | ✅ | 非空值回傳 TRUE | 反向判斷 |
| col <> NULL | ❌ | 永遠回傳 UNKNOWN | 不等於也不行 |
考選部最愛用 EQUAL NULL 當誘答!考生常直覺認為『等於 NULL』合理,但 SQL 規定 NULL 代表未知,連 NULL = NULL 都不會成立,必須改用 IS NULL。此外 EMPTY 也常被拿來混淆 NULL。