A. 怎樣用oraclel中的sql語句查詢 emp表中工資大於平均工資的人員信息
select * from(
select emp.*,(select avg(sal+nvl(comm,0)) from emp) 平均工資 from emp)
where SAL+nvl(COMM,0)>平均工資;
或者
select * from emp where SAL+nvl(COMM,0)>(select avg(SAL+nvl(COMM,0)) from emp);
說明:工資包括 sal和comm(獎金),但是有的人沒有獎金(NULL,為了處理這個NULL用到nvl函數),所以總工資是 [SAL+nvl(COMM,0)]
---
以上,希望對你有所幫助。
B. oracle資料庫。查詢部門平均工資,平且顯示工資等級,按部門分組,sql語句怎麼寫
如果是scott下的那幾張表的話
selectt1.deptno,
t1.dname,
t1.avgsal,
max(case
whent1.avgsalbetweent2.losalandt2.hisalthen
t2.grade
end)grade
from(selecta.deptno,b.dname,round(avg(a.sal),2)avgsal
fromempa,deptb
wherea.deptno=b.deptno
groupbya.deptno,b.dname)t1,
salgradet2
groupbyt1.deptno,t1.dname,t1.avgsal
orderbyt1.deptno;
查詢結果