1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > SQL语言NULL用法学习笔记 (源自《SQL基础教程第2版》MICK 孙淼 罗勇)

SQL语言NULL用法学习笔记 (源自《SQL基础教程第2版》MICK 孙淼 罗勇)

时间:2020-11-18 17:54:10

相关推荐

SQL语言NULL用法学习笔记 (源自《SQL基础教程第2版》MICK  孙淼 罗勇)

一、算术运算(+、-、 *、 /)

包含NULL的算术运算中,不会报错且结果均为NULL。如:

5 + NULL;

NULL / 9 ;

NULL / 0

结果均为NULL

二、比较运算(=、<>、!=、>=、<=)

比较运算符不能取出值为NULL的记录。如:

叉子的purchase_price为NULL,

SELECT product_name

FROM product

WHERE purchase_price <> 2800

SELECT product_name

FROM product

WHERE purchase_price = NULL

结果均不会返回‘叉子’记录。

希望选取NULL记录时,需要用 IS NULL运算符;

希望选取不是NULL记录时,需要用 IS NOT NULL运算符。

三、逻辑运算(AND、 OR)

SQL的逻辑运算是三值运算:真、假、不确定。

四、聚合函数

COUNT( ):记录表中的记录数(行数)

COUNT( * )会得到包含NULL的数据行数,而COUNT(列名)会得到NULL之外的数据行数。

SUM( ):

算术运算中如果存在NULL,结果一定是NULL。但是再聚合函数中,如果以列名为参数,那么在计算之前就已经把NULL排除在外了,所以结果不为NULL。

注:“排除在外” 与 “等价为0” 不相同。

AVG( ):

计算平均值时,因为在计算之前就已经把NULL排除在外了,所以分母为非NULL的数据行数。

如果想将NULL作为0进行计算(如将(1+2+3)/3 变成(1+2+3+0+0)/5 ),则需要

MAX( ):

MIN( ):

五、GROUP BY

聚合键(分组列)中包含NULL时,在结果中会以“空行”的形式表现出来。如:

六、ORDER BY

排序键中包含NULL时,会在开头或末尾进行汇总(究竟是开头还是末尾,不同DBMS规定不同)。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。