午夜精品久久久久久久99老熟妇,天堂中文www官网,未满十八18勿进黄网站,太粗太深了太紧太爽了,天天爽夜夜爽夜夜爽

考試報(bào)名
考試報(bào)名
考試內(nèi)容
考試大綱
在線客服
返回頂部

備考刷題,請(qǐng)到

CDA認(rèn)證小程序

表emp有如下字段:deptno, empid, name, job, sal。分別表示:部門(mén)編號(hào)、員工編號(hào)、員工姓名、職位、薪資。請(qǐng)?jiān)黾幼侄巍靶劫Y部門(mén)占比”,以下代碼正確的是( )
A. select *, sal/(select sum(sal) from emp) as 薪資部門(mén)占比 from emp;
B. select *, sal/sum(sal) as 薪資部門(mén)占比 from emp;
C. select *, sal/sum(sal)over(partition by deptno) as 薪資部門(mén)占比 from emp;
D. select *, sal/sum(sal)over(partition by empid) as 薪資部門(mén)占比 from emp;
上一題
下一題
收藏
點(diǎn)贊
評(píng)論
題目解析
題目評(píng)論(0)

sum(sal)over(partition by deptno) 為開(kāi)窗函數(shù),計(jì)算每一個(gè)分組(按部門(mén)編號(hào)deptno分組)的工資總和。sal/sum(sal)over(partition by deptno)計(jì)算的是每一名員工的薪資部門(mén)占比。

正確答案是:C

專(zhuān)業(yè)分析如下:

A: `select *, sal/(select sum(sal) from emp) as 薪資部門(mén)占比 from emp;`
- 這條語(yǔ)句計(jì)算的是每個(gè)員工的薪資占全表總薪資的比例,而不是按部門(mén)計(jì)算的薪資占比。因此,這不是我們需要的結(jié)果。

B: `select *, sal/sum(sal) as 薪資部門(mén)占比 from emp;`
- 這條語(yǔ)句試圖直接在同一行中計(jì)算sum(sal),但沒(méi)有使用聚合函數(shù)或窗口函數(shù),因此會(huì)導(dǎo)致SQL語(yǔ)法錯(cuò)誤。

C: `select *, sal/sum(sal)over(partition by deptno) as 薪資部門(mén)占比 from emp;`
- 這條語(yǔ)句使用了窗口函數(shù)`sum(sal) over(partition by deptno)`,它會(huì)根據(jù)部門(mén)編號(hào)(deptno)對(duì)薪資進(jìn)行分區(qū)計(jì)算,從而得到每個(gè)員工在其所在部門(mén)中的薪資占比。這正是我們需要的結(jié)果。

D: `select *, sal/sum(sal)over(partition by empid) as 薪資部門(mén)占比 from emp;`
- 這條語(yǔ)句使用了窗口函數(shù)`sum(sal) over(partition by empid)`,但它是按員工編號(hào)(empid)進(jìn)行分區(qū)的,這意味著每個(gè)員工的分區(qū)只有自己一個(gè)人,因此計(jì)算結(jié)果總是1,不符合需求。

綜上所述,正確答案是C。