9.5 自测题
(1) 下面的语句会返回什么结果(选择一个最佳答案)?
SELECT COUNT(*) FROM DUAL;
A.NULL
B. 0
C.1
D.以上都不对
(2) 下面关于分组函数的陈述,请选择一种正确说法。
A.只有存在GROUP BY子句时才能使用分组函数
B.分组函数每次可以作用于多行
C.分组函数每次只能作用于一行
D.在一个组中分组函数可以多次执行
(3) 执行下面的语句会返回什么值(选择一个最佳答案)?
SELECT SUM(SALARY) FROM EMPLOYEES;
假设有10个员工记录,除了一条记录的SALARY字段是空值外,每条记录包含的SALARY值为100。
A.900
B. 1000
C.NULL
D.以上都不对
(4) 执行下面的语句会返回什么值(选择一个最佳答案)?
SELECT COUNT(*), COUNT(SALARY) FROM EMPLOYEES;
假设有10个员工记录,除了一条记录的SALARY字段是空值外,每条记录包含的SALARY值都为100。
A.10和10
B. 10和NULL
C.10和9
D.以上都不对
(5) 执行下面的语句会返回什么值(选择一个最佳答案)?
SELECT AVG(NVL(SALARY,100)) FROM EMPLOYEES;
假设有10个员工记录,除了一条记录的SALARY字段是空值外,每条记录包含的SALARY值为100。
A.NULL
B. 90
C.100
D.以上都不对
(6) 执行下面的语句会返回什么值(选择一个最佳答案)?
SELECT SUM((AVG(LENGTH(NVL(SALARY,0))))) FROM EMPLOYEES GROUP BY SALARY;
假设有10条员工记录,除了一条记录的SALARY字段是空值外,每条记录包含的SALARY值为100。
A.返回一个错误
B. 3
C.4
D.以上都不对
(7) 下面的查询会返回多少条记录(选择一个最佳答案)?
SELECT SUM(SALARY), DEPARTMENT_ID FROM EMPLOYEES GROUP BY DEPARTMENT_ID;
假设有11个非空和1个空的唯一DEPARTMENT_ID值。所有记录都有一个非空SALARY值。
A.12
B. 11
C.NULL
D.以上都不对
(8) 执行下面的语句会返回什么值(选择一个最佳答案)?
SELECT JOB_ID, MAX_SALARY FROM JOBS GROUP BY MAX_SALARY;
假设JOBS表有10条记录,JOB_ID值都是DBA, MAX_SALARY值都是100。
A.包含值“DBA,100”的一行输出
B.包含值“DBA,100”的10行输出
C.返回一个错误
D.以上都不对
(9) 执行下面的语句会返回多少行数据(选择一个最佳答案)?
SELECT DEPT_ID, SUM(NVL(SALARY,100)) FROM EMP GROUP BY DEPT_ID HAVING SUM(SALARY) > 400;
假设EMP表有10行,除了一行的SALARY字段是空值外,每行包含的SALARY值都为100。第一个5行的DEPT_ID值为10,第二个5行的DEPT_ID值为20,其中一行的SALARY值为空。
A.两行
B.一行
C.零行
D.以上都不对
(10) 执行下面的语句会返回多少行数据(选择一个最佳答案)?
SELECT DEPT_ID, SUM(SALARY) FROM EMP GROUP BY DEPT_ID HAVING SUM(NVL(SALARY,100)) > 400;
假设EMP表有10行,除了一行的SALARY字段是空值之外,每行包含的SALARY值都为100。第一个5行的DEPT_ID值为10,第二个5行的DEPT_ID值为20,其中一行的SALARY值为空。
A.两行
B.一行
C.零行
D.以上都不对
(11) 选择两个正确的语句。
A.STDDEV函数返回VARIANCE的平方根
B. VARIANCE函数返回STDDEV的平方根
C.AVG函数处理日期和数值数据
D.LISTAGG函数返回一列数据的数值总和
E.LISTAGG函数返回某列的连接值
(12) 执行如下语句后,返回多少行数据(选择一个最佳答案)?
select listagg(last_name) within group (order by department_id) from employees;
假定EMPLOYEES表有10个不同的DEPARTMENT_ID值,有107行。
A.0
B. 1
C.10
D.107
E.上述都不对