1. 사원번호가 7788인 사원과 담당 업무가 같은 사원을 표시
SELECT ENAME, JOB
FROM EMPLOYEE
WHERE JOB = (SELECT JOB
FROM EMPLOYEE
WHERE ENO=7788);
2. 사원번호가 7499인 사원보다 급여가 많은 사원을 표시
SELECT ENAME, JOB
FROM EMPLOYEE
WHERE SALARY > (SELECT SALARY
FROM EMPLOYEE
WHERE ENO=7499);
3. 최소 급여를 받는 사원의 이름, 담당업무, 급여 표기
SELECT ENAME, JOB, SALARY
FROM EMPLOYEE
WHERE SALARY = (SELECT MIN(SALARY)
FROM EMPLOYEE);
4. 평균 급여가 가장 적은 사원의 담당업무를 찾아 직급과 평균 급여 표시
SELECT JOB, ROUND(AVG(SALARY), 1)
FROM EMPLOYEE
GROUP BY JOB
HAVING ROUND(AVG(SALARY), 1) = (SELECT MIN(ROUND(AVG(SALARY), 1))
FROM EMPLOYEE
GROUP BY JOB);
5. 각 부서의 최소 급여를 받는 사원의 이름, 급여, 부서번호 표시
SELECT ENAME, SALARY, DNO
FROM EMPLOYEE
WHERE SALARY IN (SELECT MIN(SALARY)
FROM EMPLOYEE
GROUP BY DNO);
6. 담당 업무가 분석가인 사원보다 급여가 적으면서, 업무가 분석가가 아닌 사원들을 표시
SELECT ENO, ENAME, JOB, SALARY
FROM EMPLOYEE
WHERE SALARY< ANY (SELECT SALARY
FROM EMPLOYEE
WHERE JOB='ANALYIST')
AND JOB != 'ANALYIST';
7. 부하직원이 없는 사원의 이름 표시
SELECT ENAME
FROM EMPLOYEE
WHERE ENO IN (SELECT ENO
FROM EMPLOYEE
WHERE MANAGER IS NULL);
8. 부하직원이 있는 사원의 이름 표시
SELECT ENAME
FROM EMPLOYEE
WHERE ENO IN (SELECT ENO
FROM EMPLOYEE
WHERE MANAGER IS NOT NULL);
10. BLAKE와 동일한 부서에 속한 사원의 이름과 입사일을 표시하는 질의 작성. BLAKE는 제외
SELECT ENAME, HIREDATE
FROM EMPLOYEE
WHERE DNO=(SELECT DNO
FROM EMPLOYEE
WHERE ENAME='BLAKE')
AND ENAME!='BLAKE';
11. 급여가 평균 급여보다 많은 사원들의 사원번호와 이름을 표시하되 결과가 급여에 대해서 오름차순으로 정렬
SELECT ENO, ENAME
FROM EMPLOYEE
WHERE SALARY > (SELECT AVG(SALARY)
FROM EMPLOYEE)
ORDER BY SALARY;
11. 이름에 K가 포함된 사원과 같은 부서에서 일하는 사원의 사원번호와 이름을 표시하는 질의 작성
SELECT ENO, ENAME
FROM EMPLOYEE
WHERE DNO IN (SELECT DNO
FROM EMPLOYEE
WHERE ENMAE LIKE '%K%');
12. 부서위치가 DALLAS인 사원의 이름과 부서번호, 담당업무를 표시
SELECT ENAME, DNO, JOB
FROM EMPLOYEE
WHERE DNO = (SELECT DNO
FROM DEPARTMENT
WHRER LOC='DALLAS');
13. KING에게 보고하는 사원의 이름과 급여 표시
SELECT ENAME, SALARY
FROM EMPLOYEE
WEHRE MANAGER = (SELECT ENO
FROM EMPLOYEE
WHERE ENAME='KING');
14. RESEARCH 부서의 사원에 대한 부서번호, 사원이름, 담당업무 표시
SELECT DNO, ENAME, JOB
FROM EMPLOYEE
WHERE DNO = (SELECT DNO
FROM DEPARTMENT
WHERE DNAME = 'RESERCH');
15. 평균 급여보다 많은 급여를 받고 이름에 M이 포함된 사원과 같은 부서에서 근무하는 사원의 사원번호, 이름, 급여를 표시
SELECT ENO, ENAME, SALARY
FROM EMPLOYEE
WHERE SALARY > (SELECT AVG(SALARY)
FROM EMPLOYEE)
AND DNO IN (SELECT DNO
FROM EMPLOYEE
WHERE ENAME LIKE "%M%');
16. 평균 급여가 가장 적은 업무 표시
SELECT JOB, AVG(SALARY)
FROM EMPLOYEE
GROUP BY JOB
WHERE AVG(SALARY) = (SELECT MIN(AVG(SALARY))
FROM EMPLOYEE
GROUNP BY JOB);
17. 담당 업무가 MANAGER인 사원이 소속된 부서와 동일한 부서의 사원을 표시
SELECT ENAME
FROM EMPLOYEE
WHERE ENO IN (SELECT MANAGER --MANAGER 컬럼에는 관리자의 ENO가 들어있음.
FROM EMPLOYEE);
출처 : ORACLE 11G PROGRAMMING