SELECt AVG(sal) avg_sal FROM emp; SELECt AVG(NVL(sal,0)) avg_sal FROM emp; 这两个语句有什么区别?
答案:2 悬赏:0
解决时间 2021-03-17 13:27
- 提问者网友:熱戀丶瘋
- 2021-03-17 03:49
SELECt AVG(sal) avg_sal FROM emp; SELECt AVG(NVL(sal,0)) avg_sal FROM emp; 这两个语句有什么区别?
最佳答案
- 二级知识专家网友:余生继续浪
- 2021-03-17 04:07
需要了解这个函数的用法:
NVL(EXPR1,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
所以上面的两个语句,区别就是这个,第二个加了空值的处理,即sal如果为空则返回0,第一个语句没有做这个处理;
NVL(EXPR1,EXPR2)
若EXPR1是NULL,则返回EXPR2,否则返回EXPR1.
所以上面的两个语句,区别就是这个,第二个加了空值的处理,即sal如果为空则返回0,第一个语句没有做这个处理;
全部回答
- 1楼网友:放肆的依賴
- 2021-03-17 05:15
avg是查询平均数的函数
nvl是oracle中空则为另一个数。
这个语句是查询emp表中sal字段的平均值。
即总的sal值除以总行数得到的值。
例如
sal
1
2
null
3
4
这5行数据,运行之后,得到的值是2
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯