ORA
0/26 완료

[1번]EMPLOYEES 테이블의 job_id와 JOB_HISTORY 테이블의 job_id를 합쳐 고유한 직무 목록을 출력하시오. (중복 제거, job_id 오름차순)

결과 예시

JOB_ID ----------- AC_ACCOUNT AC_MGR AD_ASST AD_PRES ... (19개 행)

💡 키포인트

UNION은 중복을 제거한 합집합. ORDER BY는 복합 쿼리 맨 끝에 한 번만 사용.

[2번]EMPLOYEES의 job_id와 JOB_HISTORY의 job_id를 합쳐 중복 포함 전체 목록을 출력하시오. (job_id 오름차순)

결과 예시

JOB_ID ----------- AC_ACCOUNT AC_MGR AD_ASST AD_PRES AD_VP AD_VP ... (117개 행, 중복 포함)

💡 키포인트

UNION ALL은 중복을 제거하지 않는다. employees 107행 + job_history 10행 = 117행.

[3번]EMPLOYEES 테이블의 department_id와 DEPARTMENTS 테이블의 department_id를 UNION으로 합쳐 고유 부서 번호 목록을 출력하시오. (department_id 오름차순)

결과 예시

DEPARTMENT_ID ------------- 10 20 30 ... 270 (27개 행)

💡 키포인트

EMPLOYEES의 NULL department_id를 IS NOT NULL로 제외. UNION이 중복 자동 제거.

[4번]EMPLOYEES 테이블에서 부서 20, 30, 40에 근무하는 사원의 last_name, department_id를 각각 조회하여 UNION ALL로 합치시오. (중복 포함 전체 출력, department_id 오름차순)

결과 예시

LAST_NAME DEPARTMENT_ID ---------------- ------------- Hartstein 20 Fay 20 Raphaely 30 ... (9개 행, 중복 포함)

💡 키포인트

세 개의 SELECT를 UNION ALL로 연결. ORDER BY는 마지막에 한 번만.

[5번]집합 A(job_id='SA_REP'인 사원의 employee_id, last_name, salary)와 집합 B(job_id='IT_PROG'인 사원의 employee_id, last_name, salary)를 UNION으로 결합하시오. (salary 내림차순)

결과 예시

EMPLOYEE_ID LAST_NAME SALARY ----------- ---------------- ------ 150 Tucker 10000 151 Bernstein 9500 156 King 9000 ... (34개 행)

💡 키포인트

UNION은 동일한 테이블의 서로 다른 조건으로도 사용 가능. salary DESC 정렬.

[6번]현재와 과거의 직무-부서 조합을 고유하게 출력하시오. (EMPLOYEES: employee_id, job_id, department_id / JOB_HISTORY: employee_id, job_id, department_id, employee_id 오름차순)

결과 예시

EMPLOYEE_ID JOB_ID DEPARTMENT_ID ----------- ----------- ------------- 100 AD_PRES 90 101 AC_ACCOUNT 110 101 AC_MGR 110 101 AD_VP 90 ...

💡 키포인트

UNION이 두 테이블의 (employee_id, job_id, department_id) 조합의 중복을 제거.