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.上述都不对