-
다음과 같은 ERD 구조에 테이블이 3개 있습니다. 앞으로는 이 데이터를 바탕으로 주어진 요구 사항을 만족하는 SQL을 작성하세요.
위 ERD의 내용은 사원(EMP), 부서(DEPT), 급여등급(SALGRADE)에 대한 테이블입니다. 간단히 설명하자면 부서라는 테이블이 있고, 사원이라는 테이블이 있습니다. 사원은 특정 부서에 속해 있습니다.
사원이 받는 급여는 급여 등급 테이블의 구간(최소금액~최대금액)중에 하나 안에 속합니다. E
1. 사원 테이블에서 사원번호가 7369, 7698 번인 사원번호와 이름을
출력하세요?
SELECT ENAME
,EMPNO
FROM emp
WHERE empno IN(7369,7698);
2. 사원 테이블에서 사원번호가 7369, 7698 번인 아닌 사원번호와 이름을 출력하세요?
ex)
SELECT ENAME
,EMPNO
FROM emp
WHERE empno NOT IN(7369,7698);
ex)
SELECT *
FROM emp
WHERE sal BETWEEN 3000 AND 5000;
4.사원 테이블에서 고용일자(HIREDATE)가 1981년 12월 1일 이후 고용된 사원 정보를 다 출력하세요?
ex)
SELECT hiredate
,TO_CHAR(hiredate,'YYYY-MM-DD')
FROM emp
--WHERE hiredate >= '81/12/01'
EXTRACT(
ORDER BY hiredate ASC;
5.사원 테이블에서 직업(JOB)이 SALESMAN 중에서 사원번호의 최대값을 출력하세요?
ex)
SELECT MAX(empno)
FROM emp
WHERE job= 'SALESMAN';
6. 사원 테이블에서 직업이 SALESMAN 중에서 급여를 제일 많이 받는 사람의 이름 출력
SELECT empno, ename, sal
FROM emp e JOIN (
SELECT job,MAX(sal) as MAXSAL
FROM emp
WHERE job='SALESMAN'
GROUP BY job
) j
ON e.job = j.job
WHERE sal = MAXSAL;
'DB' 카테고리의 다른 글
- 2 일차 SQL 과제 – (0) | 2010.08.25 |
---|---|
DB 3일차 오전 (0) | 2010.08.25 |
DB 2일차 오전 (0) | 2010.08.24 |
데이터베이스 2장(2010/8/23) 오후수업 (0) | 2010.08.23 |
데이터베이스 2장(2010/8/23) 오전수업 (0) | 2010.08.23 |