본문 바로가기

개발/오라클

오라클 쿼리 연습 문제 : 조인 연습

HR(HUMAN RESOURCES) 테이블 문제


HR 사용자의 테이블(EMPLOYEES, DEPARTMENTS, LOCATIONS, COUNTRIES, REGIONS)

EMPLOYEES 테이블의 컬럼 : EMPLOYEE_ID, FIRST_NAME, LAST_NAME, EMAIL, PHONE_NUMBER, HIRE_DATE, JOB_ID, SALARY, COMMISSION_PCT, MANAGER_ID, DEPARTMENT_ID

DEPARTMENTS 테이블의 컬럼 : DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID, LOCATION_ID

LOCATIONS 테이블의 컬럼 : LOCATION_ID, STREET_ADDRESS, POSTAL_CODE, CITY, STATE_PROVINCE, COUNTRY_ID

COUNTRIES 테이블의 컬럼 : COUNTRY_ID, COUNTRY_NAME, REGION_ID

REGIONS 테이블의 컬럼 : REGION_ID, REGION_NAME


HR 계정에서 진행합니다.HR 스키마 구조 보기(링크)


1. 사원들의 이름, 부서번호, 부서이름을 출력하세요.

(결과물)



2. 'DALLAS'에서(LOC) 근무하는 사원의 이름, 직위, 부서번호, 부서이름을 출력하세요.

(결과물)



3. 이름에 'A'가 들어가는 사원들의 이름과 부서이름을 출력하세요.

(결과물)



4. 사원이름과 그 사원이 속한 부서의 부서명, 그리고 월급을 출력하는데 월급이 3000이상인 사원을 출력하세요.

(결과물)



5. 직위가 'SALESMAN'인 사원들의 직위, 사원이름, 그 사원이 속한 부서 이름을 출력하세요.

(결과물)



6. 커미션이 책정된 사원들의 사원번호, 이름, 연봉, 연봉+커미션, 급여등급을 출력하되, 각 각의 컬럼명을 '사원번호',  '사원이름', '연봉', '실급여', '급여등급'으로 하여 출력하세요.

(결과물)



7. 부서번호가 10번인 사원들의 부서번호, 부서이름, 사원이름, 월급, 급여등급을 출력하세요.

(결과물)



8. 부서번호가 10번, 20번인 사원들의 부서번호, 부서이름, 사원이름, 월급, 급여등급을 출력하고 출력된 결과물을 부서번호가 낮은 순으로, 월급이 높은 순으로 정렬하세요.

(결과물)



9. 사원번호와 사원이름, 그리고 그 사원을 관리하는 관리자의 사원번호와 사원이름을 출력하되 각각의 컬럼명을 '사원번호', '사원이름', '관리자번호', '관리자이름'으로 하여 출력하세요. 

(결과물)




======================================================================

SCOTT 테이블 문제


SCOTT 사용자의 테이블(BONUS, DEPT, EMP, SALGRADE)

BONUS 테이블의 컬럼 : ENAME, JOB, SAL, COMM

DEPT 테이블의 컬럼 : DEPTNO, DNAME, LOC

EMP 테이블의 컬럼 : EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO

SALGRADE 테이블의 컬럼 : GRADE, LOSAL, HISAL


SCOTT 계정에서 테스트 합니다.


10. EMP 테이블에서 부서 인원이 4명보다 많은 부서의 부서번호, 인원수, 급여의 합을 출력하세요.(GROUP BY, HAVING)

(결과물)





11. 직업(JOB)별로 최소 급여를 받는 사원의 정보를 사원번호, 이름, 업무, 부서명을 출력하세요. 단, 직업별로 내림차순 정렬하세요.

(결과물)




12. 각 사원 별 커미션이 0 또는 NULL이고 부서위치가 ‘GO’로 끝나는 사원의 정보를 사원번호, 사원이름, 커미션, 부서번호, 부서명, 부서위치를 출력하세요. 단, 보너스가 NULL이면 0으로 출력하세요.

(결과물)



13. 1980년~1980년 사이에 입사된 각 부서별 사원수를 부서번호, 부서명, 입사1980, 입사1981, 입사1982로 출력하세요.

(결과물)



14. 1981년 6월 1일 ~ 1981년 12월 31일 입사자 중 부서명이 SALES인 사원의 부서번호, 사원명, 직업, 입사일을 출력하세요. 단, 입사일 오름차순 정렬하세요.

(결과물)



15. 현재 시간과 현재 시간으로부터 한 시간 후의 시간을 출력하세요. 단, 현재시간 포맷은 ‘4자리년-2자일월-2자리일 24시:2자리분:2자리초’로 출력하고, 한 시간후 포맷은 ‘4자리년-2자일월-2자리일 24시:2자리분:2자리초’로 출력하세요.

(결과물)



16. 각 부서별 사원수를 출력하라. 단, 부서별 사원수가 없더라도 부서번호, 부서명은 출력하고, 부서별 사원수가 0인 경우 ‘없음’ 출력하고, 부서번호 오름차순 정렬하세요.

(결과물)



17. 사원 테이블에서 각 사원의 사원번호, 사원명, 매니저번호, 매니저명을 출력하세요. 단, 각 사원의 급여(SAL)는 매니저 급여보다 많거나 같습니다.

(결과물)



18. 각 부서별로 1981년 5월 31일 이후 입사자의 부서번호, 부서명, 사원번호, 사원명, 입사일을 출력하세요. 단, 부서별 사원정보가 없더라도 부서번호, 부서명은 출력하고, 부서번호 오름차순 정렬하고, 입사일 오름차순 정렬하세요.

(결과물)