본문 바로가기
문제를 풀어보자

ORACLE) Do it! 오라클 9강 연습문제

by 휴일이 2022. 10. 21.

 

 

1)

전체 사원 중 ALLEN과 같은 직책인 사원들의

사원 정보, 부서 정보를 출력하세요

 

 

SELECT JOB, EMPNO, ENAME, SAL, DEPTNO, DNAME
FROM EMP JOIN DEPT USING(DEPTNO)
WHERE JOB = (
SELECT JOB
FROM EMP
WHERE ENAME ='ALLEN')
;

 

 

결과

 

 

 

 

2)

전세 사원의 평균 급여(SAL)보다 높은 급여를 받는 사원들의

사원 정보, 부서 정보, 급여 등급 정보를 출력해보자

(급여가 많은 순으로 정렬하고, 급여가 같으면 사원 번호 기준으로 오름차순)

 

 

SELECT EMPNO, ENAME, DNAME, HIREDATE, LOC, SAL,
CASE
WHEN SAL<1200 THEN 1
WHEN SAL<1400 THEN 2
WHEN SAL<2000 THEN 3
WHEN SAL<3000 THEN 4
WHEN SAL<=9999 THEN 5
END AS GRADE
FROM EMP JOIN DEPT USING (DEPTNO)
WHERE SAL >
(SELECT TRUNC(AVG(SAL))
FROM EMP)
ORDER BY SAL DESC, DEPTNO
;

 

결과

 

 

 

 

 

 

3)

10번 부서에 근무하는 사원 중, 30번 부서에는 없는 직책을 가진 사원들의 사원 정보, 부서 정보를 출력하세요

 

 

SELECT EMPNO, ENAME, JOB, DEPTNO, DNAME, LOC
FROM EMP JOIN DEPT USING(DEPTNO)
WHERE DEPTNO=10
AND JOB NOT IN (
SELECT JOB
FROM EMP
WHERE DEPTNO=30)
;

 

결과

 

 

 

4)

직책이 SALESMAN인 사람들의 최고 급여보다

높은 급여를 받는 사원들의

사원 정보, 급여 등급 정보를 다음과 같이 출력하세요

 

 

SELECT EMPNO, ENAME, SAL,
CASE
WHEN SAL<1200 THEN 1
WHEN SAL<1400 THEN 2
WHEN SAL<2000 THEN 3
WHEN SAL<3000 THEN 4
WHEN SAL<=9999 THEN 5
END AS GRADE
FROM EMP JOIN DEPT USING (DEPTNO)
WHERE SAL> SOME (
SELECT MAX(SAL)
FROM EMP
WHERE JOB='SALESMAN')
;

 

 

 

결과

 

 

 

 

 

 

 

 

 

 

 

 

728x90