본문 바로가기

DB

- 3 일차 SQL 과제 –


-     3 일차 SQL 과제

-      

1.     사원 테이블에서 각 사원에 급여(SAL) 등급을 아래 예제처럼 출력하세요
(
급여순위점수(SALGRADE) 테이블 조인)
ex)
정렬은 등급(GRADE) 오름차순

 

SELECT empno, ename, sal, grade

FROM emp e JOIN salgrade s

ON s.losal <= e.sal AND s.hisal >= e.sal

 

또는

 

SELECT empno, ename, sal, grade

FROM emp e JOIN salgrade s

ON e.sal BETWEEN s.losal AND s.hisal

 

 

 

 

 

 

 

2.    사원 테이블에서 평균 급여(SAL) 보다 높은 사원 정보를 아래 예제처럼 출력하세요
ex)
정렬은 급여(SAL) 내림차순

  

SELECT empno, ename, job, sal

FROM emp

WHERE sal>(

           SELECT ROUND(AVG(sal),1)

           FROM emp

           )

ORDER BY sal DESC;

3.    사원 테이블에서 부서별 평균 급여(SAL) 보다 높은 사원 정보를 아래 예제처럼 출력하세요

ex) 정렬은 급여(SAL) 내림차순

   

 

 

SELECT dname, empno, ename, job, sal

FROM emp e JOIN dept d

ON e.deptno = d.deptno

WHERE sal > ( SELECT ROUND(AVG(sal),1)

               FROM emp

              ) 

ORDER BY sal DESC;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4.    사원 테이블에서 각 사원에 급여(SAL) 순위 점수 별로 인원수를 아래 예제처럼 출력하세요
(
급여순위점수(SALGRADE) 테이블 조인)

ex)

  

  

SELECT s.grade, s.losal, s.hisal, f.CNT

FROM salgrade s JOIN (SELECT  grade,COUNT(*) AS CNT

                FROM emp e JOIN salgrade s

                ON e.sal BETWEEN s.losal AND s.hisal

                 GROUP BY grade

                ) f

ON  s.grade= f.grade

 

 

 

 

5.    부서명이 'RESEARCH' 이거나 부서위치가 'NEW YORK' 사원 정보를 아래 예제처럼 출력하세요

ex) 정렬은 부서명(DNAME) 오름차순

  

                       

SELECT dname, loc, empno, ename

FROM emp e JOIN dept d

ON e.deptno = d.deptno

WHERE d.dname LIKE 'RESEARCH' OR d.loc LIKE 'NEW%'

ORDER BY dname ASC;

'DB' 카테고리의 다른 글

DB 5 일차 - 오전  (0) 2010.08.27
DB 4일차 오전  (0) 2010.08.26
- 2 일차 SQL 과제 –  (0) 2010.08.25
DB 3일차 오전  (0) 2010.08.25
DB 2일차 오전  (0) 2010.08.24