⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

SQL NULL处理

学习NULL · 难度:入门 · +10XP

SQL NULL 处理 —— COALESCE、NULLIF、IFNULL

NULL在SQL中表示未知或缺失的值。NULL不等于任何值(包括NULL本身)——NULL = NULL的结果是NULL(不是TRUE)。正确处理NULL是SQL开发的基本功。

COALESCE —— 返回第一个非NULL值

-- 语法:COALESCE(val1, val2, ..., valN)
-- 从左到右返回第一个不为NULL的值

SELECT name, COALESCE(phone, '无电话') AS 联系电话, COALESCE(email, phone, '无联系方式') AS 联系方式 FROM users;

NULLIF —— 相等则返回NULL

-- NULLIF(a, b): 如果a=b则返回NULL,否则返回a
-- 常用于避免除零错误

SELECT amount / NULLIF(quantity, 0) AS 单价 FROM orders;

IFNULL (MySQL) / ISNULL (SQL Server)

-- MySQL: IFNULL(expr, replacement)
SELECT name, IFNULL(nickname, name) AS 显示名称 FROM users;

NULL比较的正确方式

-- 错误:col = NULL 永远不成立
-- 正确:col IS NULL 或 col IS NOT NULL
SELECT * FROM users WHERE phone IS NULL;
SELECT * FROM users WHERE email IS NOT NULL;

动手练习

  1. 基础练习:创建用户表(姓名、电话、邮箱可能为NULL),用COALESCE找出每人可用的联系方式。
  2. 进阶应用:用NULLIF防止统计报表中的除零错误。
  3. 项目实战:在实际项目中排查因NULL处理不当导致的查询结果缺失问题。

接下来学什么?

下一课学习字符串拼接——CONCAT和CONCAT_WS函数。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 146 篇
0 完成
🔥 0