一道关于AVG函数和NULL值的面试题
来源:互联网 发布:c4d mac 破解版下载 编辑:程序博客网 时间:2024/04/29 21:40
一道关于AVG函数和NULL值的面试题
某部门有10个员工,其中9个工资为1000,另一个为NULL,当使用AVG函数取该部门平均工资时,结果应该是多少?
A.1000
B.900
我这里把题目再延伸一下,如果我们count(工资)结果是多少? A.10, B.9
实践出真知
SQL> select * from v$version;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL>
SQL> drop table t purge;
Table dropped.
SQL> create table t(sal number);
Table created.
SQL> insert into t values (10);
1 row created.
SQL> insert into t values ('');
1 row created.
SQL> insert into t values(0);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t;
SAL
----------
10
0
SQL> desc t
Name Null? Type
----------------------------------------- -------- -------------------------
SAL NUMBER
SQL> select count(*),count(sal),sum(sal),avg(sal) from t;
COUNT(*) COUNT(SAL) SUM(SAL) AVG(SAL)
---------- ---------- ---------- ----------
3 2 10 5
SQL>
某部门有10个员工,其中9个工资为1000,另一个为NULL,当使用AVG函数取该部门平均工资时,结果应该是多少?
A.1000
B.900
我这里把题目再延伸一下,如果我们count(工资)结果是多少? A.10, B.9
实践出真知
SQL> select * from v$version;
BANNER
-------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
PL/SQL Release 11.1.0.7.0 - Production
CORE 11.1.0.7.0 Production
TNS for Linux: Version 11.1.0.7.0 - Production
NLSRTL Version 11.1.0.7.0 - Production
SQL>
SQL> drop table t purge;
Table dropped.
SQL> create table t(sal number);
Table created.
SQL> insert into t values (10);
1 row created.
SQL> insert into t values ('');
1 row created.
SQL> insert into t values(0);
1 row created.
SQL> commit;
Commit complete.
SQL> select * from t;
SAL
----------
10
0
SQL> desc t
Name Null? Type
----------------------------------------- -------- -------------------------
SAL NUMBER
SQL> select count(*),count(sal),sum(sal),avg(sal) from t;
COUNT(*) COUNT(SAL) SUM(SAL) AVG(SAL)
---------- ---------- ---------- ----------
3 2 10 5
SQL>
可以看到count(sal)和avg(sal)都是直接把字段为NULL的行排除了,答对了吗? :-)
- 一道关于AVG函数和NULL值的面试题
- [面试珠玑]一道关于C++虚函数和多继承的面试题
- 一道关于C++虚函数和多继承的面试题
- 一道关于signed和unsigned的微软面试题
- 关于global和$GLOBALS[]的一道经典面试题
- 一道关于fork和printf的面试题
- 一道腾讯的面试题,关于a和&a
- 关于一道面试题
- 关于一道面试题
- 关于一道微软面试题的思考
- 关于一道微软面试题的解答
- 关于FOR循环的一道面试题
- 一道关于容器的面试题
- 关于一道面试题的源代码解答
- 一道关于java线程的面试题
- 一道关于JavaScript变量的面试题
- 一道关于free的面试题
- 关于sizeof的一道面试题
- 情定XMLA,割舍不下的XAML
- ORA-01102: cannot mount database in EXCLUSIVE mode
- 软工总结系列2——软件计划
- http://codeforces.com/contest/366/problem/C之01背包
- ios 开发(一)概述
- 一道关于AVG函数和NULL值的面试题
- 《Lua 5.0的实现》第六章 - 线程和协程
- 开关问题-poj3276
- [创业说]如何更好用业余时间做互联网创业? .
- 对Linux内存管理的整体理解
- uva 317 Hexagon
- 尊重原创,我保证这篇文章为原创作品!
- POJ 动态规划题目列表
- 【自由谈】城域网IPv6过渡技术——NAT444与DS-lite概述