Oracle初級測試題六--分組函數(shù)

--請思考如下問題?

--查詢所有員工的每個(gè)月工資總和捧挺,平均工資虑绵?

select sum(sal) as 月工資總和,avg(sal) as 平均工資
from emp;

--查詢工資最高和最低的工資是多少?

select max(sal),min(sal) from emp;

--查詢公司的總?cè)藬?shù)闽烙?

select count(*) from emp;

--查詢有獎(jiǎng)金的總?cè)藬?shù)翅睛?

一種理解:獎(jiǎng)金不為空即為有獎(jiǎng)金
select count(*) from emp where comm is not null;
另一種理解:獎(jiǎng)金>0才是有獎(jiǎng)金
select count(*) from emp where nvl(comm,0) > 0;

--練習(xí)一

--1.查詢部門20的員工,每個(gè)月的工資總和及平均工資黑竞。

select sum(sal),avg(sal) from emp where deptno in 20;

--2.查詢工作在CHICAGO的員工人數(shù)捕发,最高工資及最低工資。

select count(*),max(sal),min(sal)
from emp join dept
on emp.deptno = dept.deptno
where loc in 'CHICAGO'; 

--3.查詢員工表中一共有幾種崗位類型很魂。

select count(distinct deptno) from emp; 

--思考

--查詢每個(gè)部門的平均工資扎酷?

select avg(sal),deptno from emp group by deptno;

--練習(xí)二

--1.查詢每個(gè)部門的部門編號,部門名稱遏匆,部門人數(shù)法挨,最高工資,最低工資拉岁,工資總和坷剧,平均工資。

select emp.deptno,dept.dname,count(*),
max(sal),min(sal),sum(sal),avg(sal)
from emp join dept
on emp.deptno = dept.deptno
group by emp.deptno,dept.dname;

--2.查詢每個(gè)部門喊暖,每個(gè)崗位的部門編號惫企,部門名稱,崗位名稱陵叽,部門人數(shù)狞尔,最高工資,最低工資巩掺,工資總和偏序,平均工資。

select emp.deptno,dname,job,
count(*),max(sal),min(sal),sum(sal),avg(sal)
from emp join dept 
on emp.deptno = dept.deptno
group by emp.deptno,dname,job;

--3.查詢每個(gè)經(jīng)理所管理的人數(shù)(有多少個(gè)人有上級經(jīng)理)胖替,經(jīng)理編號研儒,經(jīng)理姓名,要求包括沒有經(jīng)理的人員信息独令。

select count(*),manager.empno,manager.ename 
from emp worker,emp manager
where worker.mgr = manager.empno(+)
group by manager.empno,manager.ename;

--練習(xí)三

--1.查詢部門人數(shù)大于2的部門編號端朵,部門名稱,部門人數(shù)燃箭。

select dept.deptno,dept.dname,count(dept.deptno)
from emp join dept
on emp.deptno = dept.deptno
group by dept.deptno,dept.dname
having count(dept.deptno) > 2;


--2.查詢部門平均工資大于2000冲呢,且人數(shù)大于2的部門編號,部門名稱招狸,部門人數(shù)敬拓,部門平均工資邻薯,并按照部門人數(shù)升序排序。

select dept.deptno,dname,count(dept.deptno),avg(sal)
from emp join dept
on emp.deptno = dept.deptno
group by dept.deptno,dname
having avg(sal) > 2000 and count(dept.deptno) > 2
order by count(*) asc;

--課后作業(yè)
--1.查詢部門平均工資在2500元以上的部門名稱及平均工資乘凸。

select dname,avg(sal)
from emp join dept
on emp.deptno = dept.deptno
group by dname
having avg(sal) > 2500;

--2.查詢員工崗位中不是以“SA”開頭并且平均工資在2500元以上的崗位及平均工資厕诡,并按平均工資降序排序。

select job,avg(sal)
from emp
group by job
having avg(sal) > 2500 and job not like 'SA%';

--3.查詢部門人數(shù)在2人以上的部門名稱营勤、最低工資木人、最高工資,并對求得的工資進(jìn)行四舍五入到整數(shù)位。

select dname,round(min(sal)),round(max(sal))
from emp join dept
on emp.deptno = dept.deptno
group by dname
having count(dname) > 2;

--4.查詢崗位不為SALESMAN冀偶,工資和大于等于2500的崗位及每種崗位的工資和醒第。

select job,sum(sal)
from emp join dept
on emp.deptno = dept.deptno
group by job
having job not in 'SALESMAN'
and sum(sal) >=  2500;

--5.顯示經(jīng)理號碼和經(jīng)理姓名,這個(gè)經(jīng)理所管理員工的最低工資进鸠,沒有經(jīng)理的KING也要顯示稠曼,不包括最低工資小于3000的,按最低工資由高到低排序客年。

--先查詢經(jīng)理所管理的員工有哪些
select manager.ename managerName,
manager.empno managerEmpno,worker.ename,
worker.sal  from
emp worker,emp manager
where worker.mgr = manager.empno(+);
--再查詢 經(jīng)理所管理的員工的最低工資 
select managerEmpno,managerName,
min(sal) minSal
from (select manager.ename managerName,
manager.empno managerEmpno,
worker.ename,worker.sal  from
emp worker,emp manager
where worker.mgr = manager.empno(+))
group by managerName,managerEmpno;
--所以最終解法為
select  manager.empno,manager.ename,tabminsal.minSal
from emp worker, emp manager,
(select managerEmpno,managerName,min(sal) minSal
from (select manager.ename managerName,manager.empno 
managerEmpno,worker.ename,worker.sal  from
emp worker,emp manager
where worker.mgr = manager.empno(+))
group by managerName,managerEmpno) tabminsal
where worker.mgr = manager.empno(+) 
and manager.ename = tabminsal.managerName 
and tabminsal.minSal >= 3000
order by tabminsal.minSal desc;

我一直有一種直覺 上題解法一定有簡單得不能再簡單的解法

如何有大神愿意不吝賜教感激不盡霞幅。。

嗯嗯量瓜。司恳。還是自己找到咯最簡的解法 。绍傲。上面的解法居然是錯(cuò)誤的解法扔傅。。
不得不說學(xué)渣就是渣渣L瘫A匀!8茏荨\ⅰ!比藻!沒錯(cuò)這個(gè)學(xué)渣不是別人就是我自 
己B亮俊!R住B丁!群凶!渣渣2宓:謇薄G肷摇T病!

正確解法

select worker.mgr,manager.ename,min(worker.sal) minsal from 
emp worker,emp manager 
where worker.mgr = manager.empno(+) 
group by worker.mgr,manager.ename
having min(worker.sal) > = 3000
order by minsal desc;

--6.寫一個(gè)查詢毅弧,顯示每個(gè)部門最高工資和最低工資的差額气嫁。

select (max(sal)-min(sal))
from emp
group by deptno;

分割線


博主為咯學(xué)編程:父母不同意學(xué)編程,現(xiàn)已斷絕關(guān)系;戀人不同意學(xué)編程够坐,現(xiàn)已分手;親戚不同意學(xué)編程寸宵,現(xiàn)已斷絕來往;老板不同意學(xué)編程,現(xiàn)已失業(yè)三十年。元咙。梯影。。庶香。甲棍。如果此博文有幫到你歡迎打賞,金額不限赶掖。感猛。。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末奢赂,一起剝皮案震驚了整個(gè)濱河市陪白,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌膳灶,老刑警劉巖咱士,帶你破解...
    沈念sama閱讀 221,635評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異轧钓,居然都是意外死亡司致,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,543評論 3 399
  • 文/潘曉璐 我一進(jìn)店門聋迎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來脂矫,“玉大人,你說我怎么就攤上這事霉晕⊥ピ伲” “怎么了?”我有些...
    開封第一講書人閱讀 168,083評論 0 360
  • 文/不壞的土叔 我叫張陵牺堰,是天一觀的道長拄轻。 經(jīng)常有香客問我,道長伟葫,這世上最難降的妖魔是什么恨搓? 我笑而不...
    開封第一講書人閱讀 59,640評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上斧抱,老公的妹妹穿的比我還像新娘常拓。我一直安慰自己,他們只是感情好辉浦,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,640評論 6 397
  • 文/花漫 我一把揭開白布弄抬。 她就那樣靜靜地躺著,像睡著了一般宪郊。 火紅的嫁衣襯著肌膚如雪掂恕。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,262評論 1 308
  • 那天弛槐,我揣著相機(jī)與錄音懊亡,去河邊找鬼。 笑死乎串,一個(gè)胖子當(dāng)著我的面吹牛斋配,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播灌闺,決...
    沈念sama閱讀 40,833評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼艰争,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了桂对?” 一聲冷哼從身側(cè)響起甩卓,我...
    開封第一講書人閱讀 39,736評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蕉斜,沒想到半個(gè)月后逾柿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,280評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡宅此,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,369評論 3 340
  • 正文 我和宋清朗相戀三年机错,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片父腕。...
    茶點(diǎn)故事閱讀 40,503評論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡弱匪,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出璧亮,到底是詐尸還是另有隱情萧诫,我是刑警寧澤,帶...
    沈念sama閱讀 36,185評論 5 350
  • 正文 年R本政府宣布枝嘶,位于F島的核電站帘饶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏群扶。R本人自食惡果不足惜及刻,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,870評論 3 333
  • 文/蒙蒙 一镀裤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缴饭,春花似錦暑劝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,340評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽汪疮。三九已至峭火,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間智嚷,已是汗流浹背卖丸。 一陣腳步聲響...
    開封第一講書人閱讀 33,460評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留盏道,地道東北人稍浆。 一個(gè)月前我還...
    沈念sama閱讀 48,909評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像猜嘱,于是被迫代替她去往敵國和親衅枫。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,512評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 引出 ?請思考如下問題朗伶? –查詢所有員工的每個(gè)月工資總和弦撩,平均工資? –查詢工資最高和最低的工資是多少论皆? –查詢公...
    C_cole閱讀 7,293評論 0 3
  • 目標(biāo) 聚合函數(shù) 分組函數(shù) 子查詢 多行子查詢 引出 ?請思考如下問題益楼? –查詢所有員工的每個(gè)月工資總和,平均工資点晴?...
    wqjcarnation閱讀 4,154評論 0 6
  • 思考題 查詢工資比Jones工資高的員工信息感凤? 查詢工資最低的員工姓名? 練習(xí)一 查詢?nèi)肼毴掌谧钤绲膯T工姓名粒督,入職...
    涎涎閱讀 3,665評論 0 0
  • 章節(jié)目標(biāo) 通過本章學(xué)習(xí)陪竿,應(yīng)達(dá)到如下目標(biāo): 掌握子查詢可以解決的問題; 了解子查詢的分類屠橄; 掌握單行子查詢萨惑、多行子查...
    涎涎閱讀 1,327評論 0 0
  • -- 查詢所有工作在new york 和chicago的員工姓名 員工編號 以及它們的經(jīng)理姓名 經(jīng)理編號 sele...
    沫忘丶閱讀 740評論 0 0