최현일
내가문제만든거
이름과 입사한 요일과 월급과 보너스를 출력하는데
입사한 요일이 금요일이면 자신의 월급에 커미션을 곱해서 보너스를 출력하고
입사한 요일이 토요일이면 자신의 월급의 10%를 보너스로 출력하고
나머지 요일은 그냥 0으로 출력한다.
단, comm이 null인 경우에는 100으로 통일하고,천단위와 만단위를 표시하시오.
[답]
select to_char(hiredate,'day'),sal,to_char(decode(to_char(hiredate,'day'),'금요일',sal*nvl(comm,100),'토요일',sal*10,0),'999,999,999')bonus
from emp;
윤신영
문제.'DALLAS'에 위치한 직원의 이름,커미션,입사일,위치를력한다.
단, 커미션이 null인값에는 hiredate가 81년이면 500을입력하고 82년은 300이외의값은 0을입력한다.
답:select e.ename, nvl(to_char(e.comm),decode(to_char(e.hiredate,'RR'),'81',500,'82',300,0))comm, e.hiredate, d.loc
from emp e,dept d
where e.deptno=d.deptno
and d.loc='DALLAS';
김영현
1980년~ 1982년 사이에 입사된 각 부서번호 별 사원수를 세어 각 연도별 명칭을
입사1980, 입사1981, 입사1982 로 하여 부서번호가 작은 순서부터 출력하시오.
한은경
부서위치, 부서위치별 인원수, 커미션*월급을 출력하는데, 부서위치별 인원수가 5명 이상, 커미션의 null값에는 3을 넣고, 백만단위 자리를 표시하고, 부서위치별 인원수가 낮은것 부터 출력하시오.
Select d.loc, count(*), to_char(e.sal*nvl(e.comm,3),'999,999,999')
From emp e, dept d
Where e.deptno = d.deptno
Group by d.loc
Having count(*) >=5
Order by count(*) asc ;
김진실
[양성민] [오후 5:18] 사원이름과 부서위치와 월급과 랜덤과 보너스를 뽑는데 월급의 천단위마다 ,를 표시해주고 월급이란 별칭을 지정해주고 커미션이 널인 사원들은 0이란 값을 지정해주고 커미션을 13으로 나누었을때 나머지값을 구하고 별칭을 랜덤이라 지정해주고 커미션을 나눈 나머지값이 1이면 월급의 20% 6이면 월급의 70% 9이면 월급의 80%의 보너스를 주고 나머지 나눈값에는 0이 출력되게 하고 천단위마다 ,를 표시해주고 별칭을 보너스라고 한다 그리고 부서위치가 NEW YORK이랑 BOSTON인 사원들은 제외하고 월급이 높은순서부터 나타내라
select e.ename,d.loc,to_char(e.sal,'999,999') as 월급,mod(nvl(e.comm,0),13) as 랜덤,to_char(decode(mod(nvl(e.comm,0),13),1,sal*0.2,6,sal*0.7,9,sal*0.8,0),'999,999')보너스
from emp e,dept d
where e.deptno = d.deptno and d.loc not in ('NEW YORK','BOSTON')
order by e.sal desc;
'디비1' 카테고리의 다른 글
디비1 - 4월27일 (0) | 2015.04.27 |
---|---|
@@@@@@@@중간고사 끝@@@@@@@@@@@@@@@ (0) | 2015.04.27 |
디비 중간 요약정리!!!@@@@@@@@@@@@@ (0) | 2015.04.19 |
디비문제풀이@@@@@@@@ (0) | 2015.04.19 |
디비1- 4월13일 (0) | 2015.04.13 |