- 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 |