MySQL中的NULL:sql命令的日常总结

        NULL是SQL中的一个关键字,它表示缺少值或未知值。在关系型数据库中,该字段如果没有被赋值或者赋值为NULL,则表示该字段为空。

 1、null的基本用法       

1.1

在SQL语句中,我们可以使用IS NULL或IS NOT NULL来判断某个字段是否为NULL。例如:

SELECT * FROM table_name WHERE column_name IS NULL;

1.2

可以使用xxx is not null来select出是否为空的字段。如果不是空,返回1,否则为0;

SELECT COUNT(*) AS count, Role, (building IS NOT NULL) AS building_not_null 
FROM employees 
GROUP BY building_not_null;

2、NULL的性质

        (1)NULL并不等于任何其他值,也不能和其他值进行算术运算或字符串比较。

  •         如果直接让一个值加上NULL,通常会得到NULL作为结果。在SQL中,如果有任意一个运算符的输入参数是NULL值,则结果也为NULL。
  •         这被称为三值逻辑,包括TRUE、FALSE和UNKNOWN(表示未知或不适用)。因此,任何表达式(例如加法、减法、乘法等)都不能将NULL与其他值进行运算,如果其中有一个操作数为NULL,则结果始终为NULL。

        (2)对于分组函数,不会将NULL计入计算。

        在SQL中,如果计算AVG(平均数)时当前列中存在NULL值,平均数会被影响。具体来说,NULL值会被忽略,不参与平均数的计算。

        例如,假设有一个表t,包含3个记录和一个空值:

id          name           score
1           Alice                80
2           Bob               NULL
3           Charlie            90

执行以下查询:

SELECT AVG(score) FROM t; 

由于Bob的score值为NULL,因此不参与平均数的计算,该查询将返回“85”,即(80+90)/2=85。 

3、一些日常小结

         (1) sql里的as就是作为什么什么的名称,的含义。

        例如:

SELECT COUNT(*) AS count, Role, (building IS NOT NULL) AS building_not_null 
FROM employees 
WHERE building IS NOT NULL 
GROUP BY Role, building_not_null;

        (2) group by 多个参数的理解

        单个group:必须确保SELECT语句中选择的列与GROUP BY子句中指定的列一致

        多个group:在SQL中,使用GROUP BY子句的目的是将数据按照一个或多个列进行分组,然后对每个分组执行聚合函数计算。如果有两个分组,那就是对两个分组进行两两组合的分组后,再进行查询,例如:

SELECT  Role,name,AVG(Years_employed)
FROM employees 
GROUP BY Role, name;

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

好奇的7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值