Choose the best answer.
Exanine the desciption of the EMPLOYEES table:
Nane Null Type
EMP_ID NOT NUL NUMBER
EMP_NAME VARCHAR2 (40)
DEPT_ID NUMBER(2)
SALARY NUMBER(8,2)
JOIN_DATE DATE
Which query is valid?
A) SELECT dept_id, join_date, SUM(salary) FROM employees GROUP BY dept_id,join_date;
B) SELECT depe_id,join_date, SUM(salary) FROM employees GROUP BY dept_id:
C) SELECT dept_id,MAX (AVG (salary)) FROM employees GROUP BY dept_id;
D) SELECT dept_ id,AVG (MAX (salary)) FROM employees GROUP BY dapt_id;
Anser:A
(解析:sum 函數如果遇到空值會跳過,不會造成最後的值為空。
其它的查詢會出現錯誤:
SQL> select avg(max(sal)) from emp2 group by deptno;
AVG(MAX(SAL))
3616.66667
SQL> select deptno,avg(max(sal)) from emp2 group by deptno;
select deptno,avg(max(sal)) from emp2 group by deptno
*
第 1 行出現錯誤:
ORA-00937: 不是單組分組函數
)