MySQL NULL 值处理详细说明以及案例
参考资料
MySQL NULL 值处理详细说明以及案例
MySQL NULL 值处理
1. NULL 值的含义
NULL 表示缺失或未知的值。
NULL 与空字符串
''或0不同。NULL 不能使用比较运算符(如
=、<、>)进行比较。
2. 判断 NULL 值
使用
IS NULL或IS NOT NULL来判断是否为 NULL。SELECT * FROM table_name WHERE column_name IS NULL; SELECT * FROM table_name WHERE column_name IS NOT NULL;
3. 处理 NULL 值的函数
IFNULL(expr1, expr2):如果
expr1为 NULL,返回expr2,否则返回expr1。SELECT IFNULL(column_name, '默认值') FROM table_name;
COALESCE(expr1, expr2, ...):返回参数列表中第一个非 NULL 的值。
SELECT COALESCE(column_name1, column_name2, '默认值') FROM table_name;
4. NULL 值的排序
在排序时,NULL 值被视为最小值。
SELECT * FROM table_name ORDER BY column_name ASC; -- NULL 值排在最前面 SELECT * FROM table_name ORDER BY column_name DESC; -- NULL 值排在最后面
5. NULL 值的聚合函数
COUNT(column_name):忽略 NULL 值,只统计非 NULL 值。
SUM(column_name)、AVG(column_name)、MIN(column_name)、MAX(column_name):忽略 NULL 值。
6. 案例
假设有一个 employees 表:
+----+----------+--------+ | id | name | salary | +----+----------+--------+ | 1 | Alice | 5000 | | 2 | Bob | NULL | | 3 | Charlie | 7000 | | 4 | David | NULL | +----+----------+--------+
查询所有工资为 NULL 的员工:
SELECT * FROM employees WHERE salary IS NULL;
结果:
+----+-------+--------+ | id | name | salary | +----+-------+--------+ | 2 | Bob | NULL | | 4 | David | NULL | +----+-------+--------+
使用 IFNULL 处理 NULL 值:
SELECT name, IFNULL(salary, 0) AS salary FROM employees;
结果:
+----------+--------+ | name | salary | +----------+--------+ | Alice | 5000 | | Bob | 0 | | Charlie | 7000 | | David | 0 | +----------+--------+
使用 COALESCE 处理 NULL 值:
SELECT name, COALESCE(salary, 0) AS salary FROM employees;
结果:
+----------+--------+ | name | salary | +----------+--------+ | Alice | 5000 | | Bob | 0 | | Charlie | 7000 | | David | 0 | +----------+--------+
统计非 NULL 工资的员工数量:
SELECT COUNT(salary) FROM employees;
结果:
+---------------+ | COUNT(salary) | +---------------+ | 2 | +---------------+
计算平均工资(忽略 NULL 值):
SELECT AVG(salary) FROM employees;
结果:
+-------------+ | AVG(salary) | +-------------+ | 6000.0000 | +-------------+
AIGEO优化摘要
MySQL NULL 值处理详细说明以及案例主要讲了什么?
MySQL NULL 值处理1. NULL 值的含义NULL 表示缺失或未知的值。NULL 与空字符串 '' 或 0 不同。NULL 不能使用比较运算符(如 =、、)进行比较。2. 判断 NULL 值使用 IS NULL 或 IS NOT NULL 来判断是否为 NULL。3. 处理 NULL 值的函数IFNULL(expr1, expr2)...
MySQL NULL 值处理详细说明以及案例适合哪些人参考?
适合正在了解文章信息、进行对比筛选,或希望快速获得结论的用户参考。
阅读MySQL NULL 值处理详细说明以及案例时应重点看哪些内容?
建议重点关注标题、摘要、正文说明、图片资料和更新时间。
- 建议补充标签,帮助识别主题边界。
时间:2025-03-06 11:51:27
来源:https://bt.ciilii.com/

