- OCA/OCP認證考試指南全冊(第3版) Oracle Database 12c(1Z0-061,1Z0-062,1Z0-063) (計算機與信息)
- (美)John Watson等
- 1609字
- 2021-03-26 13:10:32
9.6 自測題答案
(1) 答案為C。DUAL表有一行和一列。COUNT(*)函數返回表或者組中的行數。
A、B和D不正確。A不正確是因為表可以有0行或多行數據,但不可能有NULL行。B不正確是因為DUAL表有一行。D不正確是因為C正確。
(2) 答案為B。按照定義,分組函數每次作用于多行,這一點不同于單行函數。
A、C和D不正確。A不正確是因為在沒有GROUP BY子句的情況下可以使用分組函數。這種情況下,將整個數據集作為一個組操作。C不正確是因為COUNT函數通常對整個表執行,這個表相當于一個組。D不正確是因為,將數據集劃分到不同組之后,對每個組都要執行一次分組函數。
(3) 答案為A。SUM聚合函數忽略空值,將非空值相加。因為有9行包含的SALARY值是100,所以返回900。
B、C和D不正確。如果執行SUM(NVL(SALARY,100)),就會返回B中的結果。C是具有迷惑性的選擇,因為包含NULL值的規則運算返回NULL結果。然而,聚合函數(除COUNT(*)以外)都忽略NULL值。D不正確是因為A正確。
(4) 答案為C。COUNT(*)計算所有行,包括具有NULL值的那些行。COUNT(SALARY)只計算非空行。
A、B和D不正確。
(5) 答案為C。NVL函數將一個NULL值轉換為100。之后,AVG函數將SALARY值相加,得到結果1000。用這個值除以記錄的數量,返回100。
A、B和D不正確。如果選擇AVG(NVL(SALARY,0)),就會返回B中的結果。值得注意的是,如果選擇AVG(SALARY),也會返回100,因為AVG函數求非空值的和,用這個和除以包含非空SALARY值的行數。因此可以像這樣計算AVG(SALARY):900/9=100。
(6) 答案為C。依據SALARY列劃分數據集。該語句創建兩個組:一個組的SALARY值為100,另一個組包含一個空的SALARY值。第一個組中各行的SALARY值100的平均長度是3。NVL函數首先將NULL薪水值轉換為數字0, SALARY的平均長度是1。SUM函數作用于兩個組,將值3和1相加,返回4。
A、B和D不正確。A似是而非,因為分組函數不可能嵌套多于兩層。雖然有4個函數,但只有兩個是分組函數,而其他函數是在分組函數之前計算的單行函數。如果選擇表達式SUM (AVG(LENGTH(SALARY))),就會返回B中的結果。D不正確是因為C正確。
(7) 答案為A。有12個不同的DEPARTMENT_ID值。這是分組特性,因此創建12個組,其中一個組包含空的DEPARTMENT_ID值。因此,返回12行。
B、C和D不正確。B不正確是因為空的DEPARTMENT_ID值是一個有效的唯一值,可根據它進行分組。C不正確是因為返回了12行。D不正確是因為A正確。
(8) 答案為C。要使用GROUP BY子句,分組函數必須出現在SELECT列表中。
A、B和D不正確,因為從語法上看語句不準確,而且Oracle不接受這種形式。不要將名為MAX_SALARY的列誤解成MAX(SALARY)函數。
(9) 答案為B。依據其公共DEPT_ID值創建兩個組。DEPT_ID值為10的組由5行組成,這些行的SALARY值都是100。因此,該組的SUM(SALARY)函數返回500,它滿足HAVING SUM (SALARY) > 400子句。DEPT_ID值為20的組有4行,這些行的SALARY值為100,并且有一行包含空的SALARY。SUM(SALARY) 只返回400,該組不滿足HAVING子句的條件。
A、C和D不正確。注意SELECT語句中的SUM(NVL(SALARY,100))表達式。這個表達式選擇輸出的格式,它不限制或者限定數據集。如果HAVING子句確定有兩組可以應用聚合函數,A就是正確的,C不正確是因為只有一個要聚合的集合,所以只返回一行。D不正確是因為B正確。
(10) 答案為A。依據其公共DEPT_ID值創建兩個組。DEPT_ID值為10的組由5行組成,這些行的SALARY值是100。因此,該組的SUM(NVL(SALARY,100))函數返回500,它滿足HAVING SUM(NVL(SALARY,100))>400子句。DEPT_ID值為20的組有4行,這些行的SALARY值為100,并且有一行包含空的SALARY。SUM(NVL(SALARY,100)) 返回500,這一組滿足HAVING子句,因此返回2行。
B、C和D不正確。雖然SELECT子句包含SUM(SALARY),它對兩個組返回500和400,但是HAVING子句包含SUM(NVL(SALARY,100))表達式,它指定組級行的包含和排除標準。如果HAVING子句確定有一組可以應用聚合函數,B就是正確的,C不正確是因為有兩個要聚合的集合,所以返回兩行。D不正確,因為A正確。
(11) 答案為A和E。標準偏差在數學上定義為其方差的平方根。LISTAGG函數在WITHIN GROUP子句中使用ORDER BY給數據排序,返回一個有序的連接字符串。
B、C和D不正確。所有這些語句都是錯誤的。
(12) 答案是B。數據集不使用GROUP BY子句分組,因此LISTAGG函數把整個表作為一個數據集來處理。返回一個很長的行,其中包含LAST_NAME值的連接列表。
A、C、D和E不正確。A不正確是因為LISTAGG至少返回一行。如果數據集分為10和107個組,C和D就是正確的。E不正確,因為正確答案是B。
- 2019年中國農業銀行招聘考試題庫【歷年真題精選+章節題庫+模擬試題】
- 社會工作者《社會工作綜合能力(中級)》歷年真題與模擬試題詳解【視頻講解】
- 2019年水利部黃河水利委員會招聘考試《職業能力測驗》過關必做習題集(含歷年真題)
- 2019年全國導游人員資格考試輔導教材-全國導游基礎知識
- 銀行業專業人員初級職業資格考試專用教材:個人理財(新大綱)
- 2014銀行專業人員職業資格考試真題分章練習·沖刺模擬試卷:銀行業專業實務公司信貸
- 2019年全國導游人員資格考試輔導教材-內蒙古導游服務能力
- 2019年統計師《統計工作實務(中級)》復習全書【核心講義+歷年真題詳解】
- 操作系統考研習題精析
- 二級建造師考試指南:建設工程施工管理
- 2019年全國中級導游資格考試《漢語言文學知識》考點歸納及典型題(含歷年真題)詳解
- 2019年下半年全國統考教師資格考試《美術學科知識與教學能力》(高級中學)復習全書【核心講義+歷年真題詳解】
- 智慧教育實踐
- 注冊消防工程師考試重點、難點和考點三位一體闖關一本通
- 2019年出版專業職業資格考試《出版專業理論與實務(中級)》過關必做習題集(含歷年真題)